Android 禁止程序常驻内存,【教程】教你如何让指定APP常驻内存

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

抱歉啊,说好的这篇教程来的太迟了,我们昨天(15号)有学考,所以今天才得空来写这篇简单的小教程

首先你需要符合下面几个条件

1.有一台可以正常连接手机的电脑

2.你的手机已经ROOT

如果这两条都符合了就往下看吧

第一步:

在手机上找到这个文件,复制到电脑上

【 /system/build.prop 】

第二步:

在电脑上使用 NotePad++ 这个软件打开这个文件,看看有没有下面几行命令

# apps to be kept in memory (specified by process name)

# use with caution, RAM is limited!

sys.keep_app_1=XXXXXX

如果有,就直接修改sys.keep_app_1=这个即可。

这里解释一下sys.keep_app这个命令的作用和使用方法:

这个命令是在手机内存告急系统自动释放旧文件时,跳过这个APP的所有数据,也就是说不会释放这个APP在内存中的数据(注意,各种释放内存的软件可能依旧强制释放这部分数据)

命令用法:

sys.keep_app_1=“app pack name”

sys.keep_app_2=“app pack name”

这个sys.keep_app_后面跟着的数据,是一个连续的自然数,自己根据自己的需求编写即可。

等号(=)后面的“app pack name”指的是APP的包名称,例如UC的包名称是:com.uc.browser,就写

sys.keep_app_2=com.uc.browser

在这行代码后面也可以添加注释,方法为:在sys.keep_app_2=com.uc.browser后空格,写一个#后添加注释。

sys.keep_app_2=com.uc.browser #UC_browser

再说一下如何查看包名称。

1.设定-应用程序-正在运行

2.点击右上角的显示缓存进程

3.找到你需要查看的程序,点开

4.最下面有一个进程,下面有一行类似于网址的字符串,那个就是包名称

最后附上索尼Lt26i常用的的常驻内存代码

### Launcher apps ###

sys.keep_app_1=com.sonyericsson.home # Sony Launcher

sys.keep_app_1=com.sonymobile.home.homeadd #Add widgets(4.04启动器需要这个,4.1的不需要添加这行)

### Phone dialer app ###

sys.keep_app_1=com.android.sonyericsson.socialphonebook(这个是通讯录)

### System apps ###

sys.keep_app_1=com.android.systemui # Status bar (下拉菜单以及系统界面)

sys.keep_app_1=com.android.settings # Settings menu(设定)

sys.keep_app_1=com.sonyericsson.music # Walkman app(索尼4.04以上自带的Walkman播放器)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 11 中,要让服务常驻内存,可以通过使用前台服务(Foreground Service)实现。前台服务是一种特殊的服务类型,可以将服务标记为正在运行的重要服务,以便系统知道它们需要更多的资源(例如内存),从而更不可能被系统杀死。 要创建前台服务,您需要在服务的 onStartCommand() 方法中调用 startForeground() 方法,并传递一个 Notification 对象。该 Notification 对象将显示在系统状态栏中,并告知用户该服务正在运行。如果您需要更新通知内容,可以调用 NotificationManager 的 startForeground() 方法,传递一个更新后的 Notification 对象。 需要注意的是,在前台服务不再需要时,应该及时调用 stopForeground() 方法,以便将服务降为后台服务,释放资源。 下面是一个前台服务的示例代码: ``` public class MyForegroundService extends Service { private static final int NOTIFICATION_ID = 1; @Override public int onStartCommand(Intent intent, int flags, int startId) { Notification notification = createNotification(); startForeground(NOTIFICATION_ID, notification); // do some work here return START_STICKY; } private Notification createNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID) .setContentTitle("My Foreground Service") .setContentText("Service is running...") .setSmallIcon(R.drawable.ic_notification); return builder.build(); } @Override public void onDestroy() { super.onDestroy(); stopForeground(true); } @Nullable @Override public IBinder onBind(Intent intent) { return null; } } ``` 在此示例中,创建了一个名为 MyForegroundService 的前台服务。在 onStartCommand() 方法中调用了 startForeground() 方法,并传递了一个 Notification 对象,该对象显示了服务正在运行的信息。在 onDestroy() 方法中,调用了 stopForeground() 方法,以便将服务降为后台服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值