Android常见问题及解决办法笔记

1、android4.0以后,不再支持应用屏蔽home键的功能;所以之前通过重构onAttachedToWindow设置标志位等方法来实现屏蔽hone键的功能在4.0以后不在起作用如果实在需要实现此功能,可以在应用中启动一个线程专门来监听ActivityManager打印的系统日志的方式实现(网友建议),此方式很消耗系统资源,系统日志打印的东西太多了,不推荐使用;最好的办法就是把系统生命周期理清楚,找到对应的应对办法。

2、一个应用采用多个进程的方式时,点击home键,activity会结束生命周期的问题:

 例子:Launcher应用中 Launcher.java运行在A进程,activity B运行在B进程,从A进程启动B进程时,在B界面点击home键,此时会走结束activity B回到桌面,搞了半天没找到原因,debug后发现点击home键居然会走到onDestroy中去,本意是想其离开本界面退到Launcher界面。分析了半天,猜测可能是Activity启动方式不对,猜测可能就是因为多进程导致改问题,于是把Intent加上Flag,Intent.FLAG_ACTIVITY_MULTIPLE_TASK问题解决了,记录于此,下次碰到再来看。

//纠正一下,按home即使加了Intent.FLAG_ACTIVITY_MULTIPLE_TASK也是会走onDestroy流程,只是不同的是在android4.4中,走了onDestroy但是数据不会被清理掉,下次使用activity时还是走onCreate,但是数据很快被构造出来,使用的是缓存数据,但是在4.4以前缓存数据都会被清理掉,所有数据完全重新加载,比如如果你是联网获取大流量的图片数据,那么这时候就麻烦了,千万不要人为的在onDestroy中啥进程。

猜你喜欢

转载自xiandaoyan.iteye.com/blog/2039776