根据activity的生命周期,当界面退出时,会执行onPause()->onStop(),如果长时间不回到该应用,则会执行onDestory()回收内存。所以当我遇到这个问题的时候,觉得很不可思议,系统不会短时间内去回收内存,当然也不排除因系统的其他原因造成的回收。
但是当我点击系统tab键的时候,却发现该界面好好的待在后台,并没有被回收,这是怎么回事,上网查了一下,才发现不只我一个人遇到了这个问题。原来是每次点击图标都会重新启动应用,但是并不是在每个机型上都出现,大胆猜测,可能是手机底层不一样。
解决办法:当启动launch页的时候去判断这个lanuch页面是不是任务栈中的第一个activity,如果是,则启动,如果不是则不运行。
if (!isTaskRoot()) {
finish();
return;
}

本文探讨了Android应用中Activity的生命周期特点,特别是在系统未立即回收内存的情况下的表现。文章提供了一个解决方案来确保应用程序正确处理Activity的启动状态,避免重复启动的问题。
1540

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



