四大组件

2017-11-04  本文已影响1人  我是无穷

activity

  1. Android onstart 还不可见,onresume才可见,onpause可见,不能执行耗时,因为执行完成此方法,才能执行下一个的onresume.
  2. 横竖屏切换,会调用onsaveinstance, 在onstop之前,调用onrestoreinstance 在onresume之后;切换的生命周期;

service

  1. 分类:前台服务(在通知栏可看到)和后台服务,本地服务和远程服务(process=remoe)
  2. 启动方式:startService和bindService,也可混合启动;
    结束方式:stopService,stopSelf, unbindservice;如果开启了线程,记得在ondestroy中interrupt掉;
  3. 生命周期:onCreate-onStartCommand(onBind)-(-onUnbind)onDestroy;
  4. 前台服务可以使用TaskStackBuilder,可以点通知打开activity后,按返回键退回到指定页面,而不是直接推到桌面;

broadcast

  1. 广播本质:观察者模式
  2. 广播分类:系统广播、普通(全局)广播、本地广播;
  3. 注册方式:静态注册和动态注册;
    静态注册的几个属性:Intent-filter中的action-name;exported-ture能接收其他app发送的广播,默认值由有无intentFilter决定;permission-若不为空,则发送者必须携带此权限才能启动此receiver;process-四大组件都可以指定是否要独立进程;
  4. 发送广播的方式:sendBroadcast,sendOrderedBroadcast;
    粘性广播已经被废弃;
  5. onReceive不能执行耗时操作,否则ANR;一般是启动service或者发通知;

contentProvider

  1. 只是一个封装,具体的用什么(file、sqlite等)保存保存数据,由用户决定;
  2. android提供了一个操作provider的工具contentResolver;
  3. 提供了provider的3大工具:contentUris, UriMatcher, ContentObserver;
  4. 优点:解耦了存储方式和访问方式,安全的共享数据;
上一篇 下一篇

猜你喜欢

热点阅读