android提高进程优先级的方法
2014-02-17 11:20
357 查看
方法1:
提高进程优先级
startForeground(1, new Notification());
降低进程优先级
stopForeground(true);
onStart() 方法中进行提高优先级操作,然后在onStop()方法中进行降低优先级操作
这个方法可以将对应AP的ADJ临时提高到2。
方法2:
找到这个进程对应的AndroidMannifest.xml文件,在其中添加属性『android:persistent="true"』,
这样可以将该进程设置为常驻内存进程,就可以降低被Kill的概率。以Acore进程为例,
在 /package/providers/ContactsProvider/AndroidMannifest.xml 文件中增加一行『android:persistent="true"』
具体修改示例如下:
<application android:process="android.process.acore"
android:label="@string/app_label"
android:icon="@drawable/app_icon"
android:allowBackup="false"
android:persistent="true" <!--新增加代码,保证acore进程不被ActivityManager杀死-->
>
方法3:
在需要提高优先级的地方调用:
final Intent it = new Intent();
it.setAction("android.intent.action.BOOST_DOWNLOADING");
it.putExtra("package_name", "com.android.contacts");
it.putExtra("enabled", true);
context.sendBroadcast(it);
在需要恢复到正常优先级时调用:
final Intent it = new Intent();
it.setAction("android.intent.action.BOOST_DOWNLOADING");
it.putExtra("package_name", "com.android.contacts");
it.putExtra("enabled", false);
context.sendBroadcast(it);
onStart() 方法中进行提高优先级操作,然后在onStop()方法中进行降低优先级操作
这个方法可以将对应AP的ADJ临时提高到7。
提高进程优先级
startForeground(1, new Notification());
降低进程优先级
stopForeground(true);
onStart() 方法中进行提高优先级操作,然后在onStop()方法中进行降低优先级操作
这个方法可以将对应AP的ADJ临时提高到2。
方法2:
找到这个进程对应的AndroidMannifest.xml文件,在其中添加属性『android:persistent="true"』,
这样可以将该进程设置为常驻内存进程,就可以降低被Kill的概率。以Acore进程为例,
在 /package/providers/ContactsProvider/AndroidMannifest.xml 文件中增加一行『android:persistent="true"』
具体修改示例如下:
<application android:process="android.process.acore"
android:label="@string/app_label"
android:icon="@drawable/app_icon"
android:allowBackup="false"
android:persistent="true" <!--新增加代码,保证acore进程不被ActivityManager杀死-->
>
方法3:
在需要提高优先级的地方调用:
final Intent it = new Intent();
it.setAction("android.intent.action.BOOST_DOWNLOADING");
it.putExtra("package_name", "com.android.contacts");
it.putExtra("enabled", true);
context.sendBroadcast(it);
在需要恢复到正常优先级时调用:
final Intent it = new Intent();
it.setAction("android.intent.action.BOOST_DOWNLOADING");
it.putExtra("package_name", "com.android.contacts");
it.putExtra("enabled", false);
context.sendBroadcast(it);
onStart() 方法中进行提高优先级操作,然后在onStop()方法中进行降低优先级操作
这个方法可以将对应AP的ADJ临时提高到7。
相关文章推荐
- Android编译系统环境初始化过程分析
- IntelliJ 同时导入android项目和android library方法
- 如何分析解决Android ANR
- Android编译系统简要介绍和学习计划
- Android应用程序与SurfaceFlinger服务的连接过程分析
- Android ART运行时无缝替换Dalvik虚拟机的过程分析
- android获取联系人信息
- 传诺基亚月底推Android手机 去除一切谷歌服务
- Android中解析XML
- Android横竖屏幕切换
- Android Notification 详解
- android编译时报错
- [转]八款开源Android游戏引擎
- android 开源项目一览
- Android开发中请求URL中参数含有中文和空格的解决方法
- android开发教程之ubuntu使用adb连接小米2的步骤和adb调试方法
- Visual Studio 扩展Android++
- android action-bar的使用
- android 解决横竖屏切换时重新载入的问题
- Android框架