Android application生命周期

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境: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.youkuaiyun.com/weixin_34126215/article/details/85998526

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值