能力值:
( LV2,RANK:10 )
|
-
-
2 楼
app的service在onStartCommand方法里return START_STICKY就行了,想更猥琐点让服务长期运行就监听系统广播事件启动service,至于activity之类的界面窗口,我目前的知识范围内是必定可以被killed的,QQ也不能保证界面窗口长时间不被干掉啊
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
一看就不是IOS
|
能力值:
(RANK:20 )
|
-
-
4 楼
服务器做了被清理就启动,但是还是不行啊,系统资源一占用多,还是会被清理,不只是QQ,其他的很多软件都能死活占用系统资源,还自启动,用专用软件杀都没办法禁止继续运行,哎
|
能力值:
(RANK:20 )
|
-
-
5 楼
QQ现在占用资源很大,只要一运行QQ看消息,我的应用就会被清理,其他的占用资源少点的应用还好点
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
清理程序会根据应用的优先级来判定是否关掉的,应该可以手调为大于100的优先级吧
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
1、定义系统级别alarm
2、alarm启动服务
3、服务维护你要的东西
应该是这样
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
一般你的activity在后台默认是低于服务的级别,所以如果你用服务都无法保证你的应用不被kill的话说明当前内存也是太少了,还有就是你的app也是占用了过多的内存(同等优先级的应用中),有个比较简单的方法也算部分解决的方法就是,用服务接受解锁屏广播,一旦解锁服务就马上启动当前app,至于你说的可能要保持登陆功能,可以这么做,首先把app放在Service中,让其优先级变为次要服务进程,然后在服务中调用startForeground(),提升为前台进程,这个时候已经是最高优先级了.同时可以做个通知栏,让用户知道这个确实是前台已经开启的进程.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
我之前也遇到类似问题,我在网上也找了很久,最终找到一个可行的方法。
// 申请设备电源锁,在服务start的时候。
private WakeLock mWakeLock;
private void acquireWakeLock()
{
if (null == mWakeLock)
{
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "LoginService");
if (null != mWakeLock) {
mWakeLock.acquire();
}
}
}
// 释放设备电源锁,在服务Destory的时候
private void releaseWakeLock()
{
if (null != mWakeLock)
{
mWakeLock.release();
mWakeLock = null;
}
}
这个方法是防止手机休眠。你的服务就会一直运行下去,不会被系统kill掉。亲测可行。
还有在onStartCommand里面最后return super.onStartCommand(intent, START_STICKY, startId);楼上刚刚已经说了~
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
哦,对了,QQ在通知栏不是设了一个不同于一般通知的通知嘛~
代码如下:
Notification notification = new Notification(R.drawable.qqbatch_logo, getString(R.string.app_name),System.currentTimeMillis());
PendingIntent pendingintent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
notification.setLatestEventInfo(this, "xxxx", "xxxxxxxxx", pendingintent);
startForeground(0x111, notification);
虽然这个专业术语说不上来,貌似是把服务进程权限提升到前台,也就是提高权限了。服务开始的方法里面。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
感谢分享,试试去!
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
service 中 通过startForground拉起 notification 占据在通知栏 才是王道 ...
|
|
|