环境:Android 10.0(29)
最近在学习Replugin插件化开发,发现初始化都是在Application中调用的,所以顺便学习一下application的相关知识
1、相关方法
onCreate() :创建时候调用
attachBaseContext(Context base):继承自ContextWrapper,设置最基础的上下文context
onTerminate() :应用被彻底关闭会调用,用模拟器测试时候,没发现有回调
onConfigurationChanged(@NonNull Configuration newConfig):配置更改时候调用
onLowMemory():系统内存低时候,会通知,让释放资源
onTrimMemory(int level) :通知释放内存,实际测试时候,应用关闭会调用这个方法,所以可以在这里释放资源
2、生命周期
应用第一次打开时候:
操作:点击打开应用,按返回键退出应用

第二次打开应用(未彻底关闭)

只会在关闭时候调用onTrimMemory()方法,之前的onCreate()和attachBaseContext()不会调用
多次打开应用(均未彻底关闭app)

都是只会调用onTrimMemory()方法
彻底关闭应用,重新打开

又会和第一次打开时候一样的生命周期
总结:第三方库基本都是在onCreate()方法中进行初始化;如果要释放资源最好在onTrimMemory()方法中进行,因为onTerminal()一直未调用;但是第三方库释放资源需要注意,因为onCreate()第二次打开不会继续执行,这时候就需要检测是否已经初始化,否则会出现未初始化崩溃现象.
参考:https://blog.csdn.net/weixin_34126215/article/details/85998526

本文介绍了Android Application的生命周期,包括onCreate(), attachBaseContext(), onTerminate()等关键方法的调用时机。在应用打开与关闭过程中,onTrimMemory()用于释放资源,而onTerminate()在测试中并未观察到回调。建议第三方库初始化在onCreate()中进行,资源释放则应在onTrimMemory()中处理,以防止应用二次打开时的崩溃问题。"
112832967,10296408,Element UI 实现对话框内走马灯效果,"['前端开发', 'Vue', 'UI设计', '组件交互']
1779

被折叠的 条评论
为什么被折叠?



