永发信息网

android开发如何将进程放到优先级最高

答案:2  悬赏:10  手机版
解决时间 2021-04-06 17:43
  • 提问者网友:轻浮
  • 2021-04-06 01:51
android开发如何将进程放到优先级最高
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-06 02:12
有几种方法可供参考:
方法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"』
具体修改示例如下:
android:icon="@drawable/app_icon"
android:allowBackup="false"
android:persistent="true"
> 方法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。
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-04-06 03:49
方法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"』
具体修改示例如下:
android:icon="@drawable/app_icon"
android:allowBackup="false"
android:persistent="true"
> 方法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。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯