摘要:
讲一个项目常见的功能,友盟统计功能 例如一个项目有很多多modlue,每个里面modlue都有Activity,Activity需要友盟统一,Fragment也需要友盟统计。一般做法就是继承一个BaseActivity,BaseFragment。 然后在BaseActivity,BaseFragme 阅读全文
摘要:
ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的。Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构。作为开发者,这些行为我们是无法干预的。 所以Activ 阅读全文
摘要:
LiveData LiveData是一个用于持有数据并支持数据可被监听(观察)。和传统的观察者模式中的被观察者不一样,LiveData是一个生命周期感知组件,因此观察者可以指定某一个LifeCycle给LiveData,并对数据进行监听。 如果观察者指定LifeCycle处于Started或者RES 阅读全文
摘要:
Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等。其实看了上面视频的会发现Google官方Android架构组件一共包括以下几个: LifeCycle : 与Activ 阅读全文
摘要:
https://github.com/xroche/coffeecatch https://github.com/ivanarh/jndcrash https://github.com/mingfeng002/ndcrash https://zhuanlan.zhihu.com/p/27834417 阅读全文
摘要:
ActivityStack.startPausingLocked() IApplicationThread.schudulePauseActivity() ActivityThread.sendMessage() ActivityThread.H.sendMessage(); ActivityThr 阅读全文
摘要:
实际场景分析 实际场景1: 应用内有两个Activity,A和B,A为第应用入口Activity,从A可跳转至B,A和B的启动模式都为standard 1)从Launcher程序第1次启动应用时的任务调度情况: 任务调度时会创建新task并将新的ActivityRecord加入这个新的task 2) 阅读全文
摘要:
从启动startActivity开始说起 Activity.java 调用startActivty实际上最后还是调用了startActivityForResult 方法 实际上调用的启动startActivityForResult方法的最终还是通过Instrumentation类来执行execSta 阅读全文
摘要:
接上篇 Instrumentation类execStartActivity(),ActivityManagerNative.getDefault().startActivy(),就是IActivityManager的代理对象ActivityManagerProxy 调用了startActivity方 阅读全文