1. onSaveInstanceState() 的启动时机

  • HOME 键
  • 长按 HOME 键选择其他应用程序(未证实,手机没有该功能)
  • 锁屏
  • 启动新的 Activity
  • 屏幕方向切换

2. 进程优先级比较

  1. 前台进程(FOREGROUND_APP)
  2. 可见进程(VISIBLE_APP)
  3. 次要服务进程(SECONDARY_SERVER)
  4. 后台进程(HIDDEN_APP)
  5. 内容供应节点(CONTENT_PROVIDER)
  6. 空进程(EMPTY_APP)

3. AsyncTask 内部结构

AsyncTask 中有两个线程池(SerialExecutor 和 THREAD_POOL_EXECUTOR)和一个 Handler(InternalHandler),其中线程池 SerialExecutor 用于任务的排队,而线程池 THREAD_POOL_EXECUTOR 用于真正地执行任务(串行执行),InternalHandler 用于将执行环境从线程池切换到主线程;

补充:
· AsyncTask 中的两个线程池分析
· executeOnExecutor() 可以配置任意 ExecutorService

4. Android MVC 与 MVP

MVC 对应于 Android:
M:Model,V:Layout,C:Activity

缺陷:
1. Activity 同时要处理 Layout 的逻辑,过于复杂;
2. Model 和 View 之间存在耦合;

MVP 对应于 Android:
M:Model,V:Activity,C:Presenter

其中,Activity 持有 Presenter 的引用,Presenter 持有 Model 和 Activity 的引用;

更多相关文章

  1. Android(安卓)异步加载图片-AsyncTask
  2. Android进程通信之Messenger&AIDL使用详解
  3. android ANR相关问题
  4. Android执行打开文件(PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,V
  5. IntentService使用、原理
  6. [android] toast解析
  7. android Process.killProcess 和 System.exit(0) 区别
  8. Android(安卓)Studio连接不上模拟器的解决方法
  9. Android里五种 Toast方式

随机推荐

  1. JS判断客户端是否是iOS或者Android
  2. Android(安卓)NDK学习(1) 简介
  3. EditText 所有属性
  4. 】Android横竖屏总结
  5. Android(安卓)8.1 zygote创建新应用进程
  6. android之layout_toLeftOf和layout_toRig
  7. Android(安卓)Button字母自动全部大写的
  8. 相关约束参数的含义
  9. Android(安卓)2.2.2到Android(安卓)4.2.2
  10. Hive中的case when 的写法