您的位置:首页 > 移动开发 > Android开发

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: