Android开发学习心得 (一) 生如夏花之绚烂,死如秋叶之静美 -- App的生死轮回

因为是学习心得, 免不了很多理解错误, 欢迎指教和抬杠!

手机系统是超交互的计算机系统, 比台式机系统拥有更多更灵活的的人机交互途径. 触摸屏, 摄像头, 传感器, 指纹识别, 网络连接, 多媒体收放等等方便人们生活的硬件设备全都集成在手机这个小小的设备中. Android作为这样一个复杂硬件体系的功能集成者, 同时又要承担和用户交互的责任, 所以在美观, 易用性, 可扩展性, 可定制性这些方面都有极高的要求.

这就是手机开发的基本前提, 要在这些基本条件上达成目标, Android系统就必须为程序开发人员提供一个即强大又易用的体系结构. 整个行业在软件工程方面多年的经验积累, 要求这个体系结构既能把前后台开发分隔开来, 又能易于定制扩展, 既能便于开发测试, 又能做充分的抽象, 既能管理好全部资源, 又能具有充分的安全性, 等等.

这些苛刻复杂的要求全部集中在同一个体系结构中要如何实现呢? 我们就试着在学习Android应用开发的过程中逐渐揭开它的神秘面纱.

作为任何一个操作系统, 首先要管理硬件, Android也不例外. Android官网上有一个图清晰的展现了它关于硬件体系的管理逻辑. 引用如下:

Android体系结构Alt

从图中我们可以了解到Android把自己建立在Linux内核之上, 把硬件管理的任务交给Linux系统负责, 而自己则把主要注意力放在硬件驱动程序以上的抽象层, 负责统一各级应用对硬件的调用接口, 以及手机应用程序基本框架的提供上. 如此, 凡是使用Android平台的应用程序就可以使用共同的基准并生存在同一个生态环境中了.

我们开发的应用程序主要集中在最上面的应用程序层.

在应用程序层生存的软件系统, 依赖于全部下面平台提供的服务, 同时应用程序之间也有沟通交互的需求.

应用程序在系统的眼中都是一样的, 他们会遵循同样的初始化过程, 同样的资源申请过程, 同样的界面生成过程, 同样的执行过程, 以及同样的销毁过程. 因此, 在开发过程中, 我们首先要理解系统对于应用程序的这组基本控制逻辑. 实际上, 不仅在Android开发, 在其他的所有软件应用开发中都遵循同样的道理.

那么Android系统是如何既分开了前后台程序又管理好了程序的生死过程呢?

让我们以最简单的HelloWorld做例子来了解一下吧!

下面三个是"Hello World"应用程序的主要程序文件

MainActivity.java

    public class MainActivity extends AppCompatActivity {
   
        @Override
        protected void onCreate(Bundle savedInstanceState) {
   
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值