如何让火车票抢票软件件常驻内存

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 42|回复: 12
在线时间19 小时经验值61 最后登录注册时间帖子阅读权限30UID
初中生, 积分 61, 距离下一级还需 39 积分
TA的每日心情奋斗 11:35签到天数: 2 天[LV.1]初来乍到
G币4 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
各位前辈,大家好,本人绝非要做流氓软件,而是手环类App 总是被自动清除,影响工作,所以才求助大家,还望大家多多帮忙。
在线时间0 小时经验值94 最后登录注册时间帖子阅读权限30UID
初中生, 积分 94, 距离下一级还需 6 积分
TA的每日心情慵懒 19:56签到天数: 4 天[LV.2]偶尔看看I
G币3 最后登录注册时间
智能管理器&&选择要优化的软件禁用节电
在线时间19 小时经验值61 最后登录注册时间帖子阅读权限30UID
初中生, 积分 61, 距离下一级还需 39 积分
TA的每日心情奋斗 11:35签到天数: 2 天[LV.1]初来乍到
G币4 最后登录注册时间
但还是会退出,只是时间变长了,一般软件开的多一些,就会退出了。
在线时间0 小时经验值94 最后登录注册时间帖子阅读权限30UID
初中生, 积分 94, 距离下一级还需 6 积分
TA的每日心情慵懒 19:56签到天数: 4 天[LV.2]偶尔看看I
G币3 最后登录注册时间
沉默是金.pro 发表于
但还是会退出,只是时间变长了,一般软件开的多一些,就会退出了。
程序开多了内存不够,自然会清理掉前面程序
在线时间19 小时经验值61 最后登录注册时间帖子阅读权限30UID
初中生, 积分 61, 距离下一级还需 39 积分
TA的每日心情奋斗 11:35签到天数: 2 天[LV.1]初来乍到
G币4 最后登录注册时间
有没有什么办法,不让它清理?
在线时间57 小时经验值551 最后登录注册时间帖子阅读权限60UID3675423
大学本科, 积分 551, 距离下一级还需 149 积分
TA的每日心情开心 11:27签到天数: 4 天[LV.2]偶尔看看I
G币6 最后登录注册时间
是否安装了第三方管理软件?有的话就卸载看看。
在线时间0 小时经验值228 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 228, 距离下一级还需 172 积分
TA的每日心情怒 19:27签到天数: 33 天[LV.5]常住居民I
G币82 最后登录注册时间
有 ROOT后 植入系统APP那个文件夹 就是SY开头里面那个把权限修改 即可
在线时间0 小时经验值26 最后登录注册时间帖子阅读权限20UID
小学生, 积分 26, 距离下一级还需 24 积分
TA的每日心情擦汗 09:56签到天数: 6 天[LV.2]偶尔看看I
G币13 最后登录注册时间
有个简单办法:先运行程序,按左边键,调出正在运行的所有程序,找到需要的程序,在上面状态栏上有个锁的图标,是打开的,按一下就锁定了,系统不会清理。然后在第三方安全软件进行相应设置即可。
在线时间558 小时经验值9701 最后登录注册时间帖子阅读权限150UID6235910
院系主任, 积分 9701, 距离下一级还需 2499 积分
TA的每日心情开心 08:36签到天数: 461 天[LV.9]以坛为家II
G币3110 最后登录注册时间
帮忙解答一下
新机友多关照
在线时间1410 小时经验值2134 最后登录注册时间帖子阅读权限90UID175971
硕士, 积分 2134, 距离下一级还需 366 积分
该用户从未签到
G币175 最后登录注册时间
我怎么没看到状态栏有个 锁 图标?
Powered by2012年 总版技术专家分年内排行榜第一
2013年 总版技术专家分年内排行榜第七2011年 总版技术专家分年内排行榜第五2009年 总版技术专家分年内排行榜第九
本帖子已过去太久远了,不再提供回复功能。2015年9月 移动开发大版内专家分月排行榜第二2015年6月 移动开发大版内专家分月排行榜第二2014年12月 移动开发大版内专家分月排行榜第二2014年7月 移动开发大版内专家分月排行榜第二2013年12月 移动开发大版内专家分月排行榜第二2013年11月 移动开发大版内专家分月排行榜第二2013年10月 移动开发大版内专家分月排行榜第二
2014年11月 移动开发大版内专家分月排行榜第三2014年2月 移动开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。Android如何让APP进程常驻内存? | 黑月神话
如何让Android程序常驻内存,像QQ一样拥有强劲的生命力不被系统杀死?它传说中的进程保活(人类也在探索永生不死,App亦然),本文将会介绍进程保活的黑魔法,我想绝大部分开发者都会对它感兴趣。
进程保活的常见方案
何为黑色保活?就是利用不同App进程用广播相互唤醒。例如:
开机、网络切换、拍照、利用系统产生的广播唤醒app。
接入SDK,比如微信SDK会唤醒微信,支付宝SDK会唤醒支付宝。
假如你的手机安装了支付宝,淘宝等阿里系的app,那么你打开任意一个阿里系app后,就可以唤醒其他的阿里系app
目前Google已经意识到这些问题,所以在Android N中取消了ACTION_NEW_PICTURE,CONNECTIVITY_ACTION等广播。
这种进程保活方式非常简单,就是采用系统接口,启动前台Service,这样你会在通知栏看到一个Notification,让用户明确的感知到你在运行中。
这种保活手段目前应用非常广泛,它利用系统漏洞启动一个前台Service,与白色保活的区别在于,它不会在通知栏显示Notification,这样一来用户就无法察觉到运行着一个前台进程,但是你的进程优先级又是高于普通后台进程的。
目前很多app都采用灰色保活手段(微信,QQ),接下来我们一起来验证一下。以微信为例,首先打开微信,然后home键,确认通知栏无Notification,然后进入adb shell执行如下shell命令:
dumpsys activity services com.tencent.mm
通过以上命令,打印出指定包名进程中的Service信息,你会看到isForeground=true的信息,但是通知栏却没有看到Notification。这就是进程保活的黑魔法。
我将其命名位GohnsonSerivice(强生服务,正所谓人如其名),具有强大生命力的服务。
public class GohnsonService extends Service {
private final static int GOHNSON_ID = 1000;
public int onStartCommand(Intent intent, int flags, int startId) {
if (Build.VERSION.SDK_INT & 18) {
startForeground(GOHNSON_ID, new Notification());
Intent innerIntent = new Intent(this, GohnsonInnerService.class);
startService(innerIntent);
startForeground(GOHNSON_ID, new Notification());
return super.onStartCommand(intent, flags, startId);
public static class GohnsonInnerService extends Service {
public int onStartCommand(Intent intent, int flags, int startId) {
startForeground(GOHNSON_ID, new Notification());
stopForeground(true);
stopSelf();
return super.onStartCommand(intent, flags, startId);
1234567891011121314151617181920212223242526272829
public class GohnsonService extends Service {&private final static int GOHNSON_ID = 1000;&@Override public int onStartCommand(Intent intent, int flags, int startId) { if (Build.VERSION.SDK_INT & 18) { startForeground(GOHNSON_ID, new Notification()); } else { Intent innerIntent = new Intent(this, GohnsonInnerService.class); startService(innerIntent); startForeground(GOHNSON_ID, new Notification()); }&return super.onStartCommand(intent, flags, startId); }&public static class GohnsonInnerService extends Service {&@Override public int onStartCommand(Intent intent, int flags, int startId) { startForeground(GOHNSON_ID, new Notification()); stopForeground(true); stopSelf(); return super.onStartCommand(intent, flags, startId); } } }&
接下来你需要做的就是在Manifest中注册服务。以及在app中启动Service。这样一来你的Service就能实现灰色保活了
灰色保活并不代表你的Service能够永生,只能说明是提高了进程优先级。如果你的app进程占用了大量的系统资源,按照系统进程回收的策略,同样会kill你的app。为了进行对比,我加入了一个普通的Service进程NormalService
&service android:name="com.vjson.gohnson.GohnsonService" android:process=":gohnson"/&
&service android:name="com.vjson.gohnson.GohnsonService$GohnsonInnerService" /&
&service android:name="com.vjson.gohnson.NormalService" android:process=":normal" /&
&service android:name="com.vjson.gohnson.GohnsonService" android:process=":gohnson"/& &service android:name="com.vjson.gohnson.GohnsonService$GohnsonInnerService" /& &service android:name="com.vjson.gohnson.NormalService" android:process=":normal" /&&
进程回收策略
出于性能上的考虑,app在后台时系统并不会立即kill它,而是将其缓存起来。打开的应用越多,后台缓存的进程也越多。在系统资源不足的情况下,会根据进程回收机制来决定要kill掉哪些进程,以腾出资源来供给需要的app。这套策略就是Low Memory Killer ,它是基于Linux内核的 OOM Killer(Out-Of-Memory killer)机制诞生。
如何判断进程的优先级呢?
我们知道进程回收是依赖进程优先级进行的,那么如何判断进程的优先级高低呢?那就需要了解oom_adj:
它是Linux内核分配每个进程的一个值,代表进程优先级,进程回收时就是依据它来决定是否回收。其值越大进程优先级越低,越容易被回收,并且普通的app进程oom_adj&=0,系统进程的oom_adj才可能&0
下面以为例,查看其进程的oom_adj(注意以下测试结果中的oom_adj数值在不同设备上结果不一样)
ps |grep com.vjson.gohnsonservice
UI进程:com.vjson.gohnsonservice
灰色保活进程:com.vjson.gohnsonservice:gohnson
普通后台进程:com.vjson.gohnsonservice:normal
cat /proc/进程ID/oom_adj
从上图可以看到UI进程的oom_adj=0,保活进程oom_adj=2,普通后台进程oom_adj=8。然后按home键将app切到后台,在观察各个进程oom_adj的值变化。你会发现UI进程的值变大了。
以上测试结果可以看出,灰色保活服务进程的优先级明显高于普通后台服务进程,UI进程位于前台时优先级非常高,切到后台之后oom_adj明显增大(进程优先级明显降低)。由于UI进程占用的资源最多,系统资源不足时肯定优先杀掉这些资源咱用高的进程以腾出资源。所以为了尽量避免后台UI进程被杀,要尽可能的释放不用的资源。
内存保活是一把双刃剑,用得好可以提升用户体验,用的不好那就是Android系统中的牛皮癣。
为什么总是有人抱怨Android系统卡顿,其实并不是系统本身卡顿,其实无良应用才是导致卡顿的罪魁祸首
&&copyright@黑月神话,转载请注明出处:
本条目发布于。属于分类。作者是。
酷克漫画,最好用最良心的漫画App
微信公众号-Android技术分享}

我要回帖

更多关于 12306抢票软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信