Androd基础----1

版权声明:本文为博主原创文章,转载请注明原帖地址,谢谢 https://blog.csdn.net/AooMiao/article/details/64444627

四大组件

  • Activity:Activity一般是个单独的屏幕,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
  • Broadcast:用于响应系统范围广播的一个组件,分为本地广播和全局广播,常见用途是作为通向其它组件的“通道”,执行极少的操作
  • Service:后台运行的组件,适合那些常用于长时间运行的操作和远程操作,特点是不依赖任何界面,如播放音乐,网络请求获得数据等
  • ContentProvider:是跨程序共享数据的标准方式,一个应用能通过ContentProvider决定让哪一部分数据进行共享,从而保证隐私数据的安全。

四种存储方法

  • io:以文件来存储数据,其它应用不能访问,缺点是更新不叫困难
  • SharePreferences:以XML文件形式存储数据,数据都是以键值对的形式,适合存储少量的数据,例如一些数据得缓存,每次打开都可以判断取出来
  • SQLite:占用少量内存,能存储大量数据的轻量级数据库,例如适合存储聊天信息(内容,日期,发送人),下载信息(下载日期,文件名,位置)等多种属性的数据
  • ContentProvider:应用程序间共享的一种数据存储模式,每个应用的ContentProvider可以向外提供一个URL,其它程序通过这个URL访问数据

五个进程

一个APP默认只有一个进程,每个四大组件都可通过manifest文件process属性设置组件运行的进程

  • 前台进程:正在和用户交互的线程,有以下情况都是前台进程
    • 正在运行和用户交互的activity,其方法onResume()执行
    • 有Service对象,且正执行期生命周期函数onCreate(),onStart(),onDestory()
    • 有BroadCastReiver对象,正运行onReceive()方法
  • 可见进程:处于暂停状态的activity(onPause()),或绑定在其上的Service,因为失去了焦点而不能和用户交互
  • 服务进程:通过StartService()启动的Service,虽然用户看不到,但是用户关心,例如播放音乐,下载文件
  • 后台进程:运行着一个用户看不到的activity(onStop),如后台QQ,微信
  • 空进程:一个不包括任何程序组件的进程,很容易被回收

猜你喜欢

转载自blog.csdn.net/AooMiao/article/details/64444627