Android8.0马上就要发布,Google对于安卓市场上各种应用占据内存空间的问题不断进行内存完善,我们的应用进程很难再保持不死之身,以前的服务唤醒在5.0已经失效,现在我们尽可能的做到保活方式就是提高进程的优先级,本文介绍一种1像素Activity保活进程的实现(据说QQ也在用)。
其整个逻辑就是在手机屏幕黑屏时,我们启动一个1像素的Activity,其占用内存很小毕竟只有1像素嘛,无形中减小了内存的回收几率,在屏幕亮的时候就关闭该页面。
实现步骤
1、首先需要在MainActivity中注册一个监听手机屏幕状态的广播监听:
//注册监听屏幕的广播 mOnepxReceiver =
new OnePixelReceiver();IntentFilter intentFilter =
new IntentFilter();intentFilter.addAction(
"android.intent.action.SCREEN_OFF");intentFilter.addAction(
"android.intent.action.SCREEN_ON");intentFilter.addAction(
"android.intent.action.USER_PRESENT");registerReceiver(mOnepxReceiver, intentFilter);
作者:将行陌路
链接:https://www.jianshu.com/p/ef4a9531bc15
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
//注册监听屏幕的广播 mOnepxReceiver =
new OnePixelReceiver();IntentFilter intentFilter =
new IntentFilter();intentFilter.addAction(
"android.intent.action.SCREEN_OFF");intentFilter.addAction(
"android.intent.action.SCREEN_ON");intentFilter.addAction(
"android.intent.action.USER_PRESENT");registerReceiver(mOnepxReceiver, intentFilter);
作者:将行陌路
链接:https://www.jianshu.com/p/ef4a9531bc15
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
//注册监听屏幕的广播 mOnepxReceiver =
new OnePixelReceiver();IntentFilter intentFilter =
new IntentFilter();inte