app如何保活|如何让一个应用程序一直在后台运行

Ⅰ 三星手机设置APP保活方法

三星手机设置APP保密活动方法都是可以通过你的设置来完成,设置里面找到保护第三方软件的设置密码就可以了

Ⅱ 国际优品平台app消息保活通道什么意思

咨询记录 · 回答于2021-09-30

Ⅲ 丰收互联怎么链接网络

摘要
系统设置里允许访问网络,请按以下步骤检查:

Ⅳ 安卓8.0以上 怎么实现保活啊急

对于移动端IM应用和消息推送应用的开发者来说,Android后台保活这件事是再熟悉不过了。自从Android P(即Android 8.0)出现以后,Android已经从系统层面将后台保活这条路给堵死了(详见:《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》),曾今那些层出不穷的保活黑科技能用的也越来越少了(详见:《全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)》。虽然可以自已对接厂商的ROOM级推送通道,但一方面各厂商的推送接口都不一样(而且同一厂商不同的系统版本间也存在推送接口的兼容性问题),很不方便。另一方面要一家家引入各自的推送服务SDK包会让APP变的很大,这让APP的下载变的很不友好。总之,Android应用的后台保活在某些场景下,还是有持续的需求。除了之前那些耳熟能详的保活黑科技以外,在Android 9.0(甚至Android 10)时代,我们还有哪些保活方法可以用?那么,请跟着本文作者的思路,看看更优雅的后台保活实现方法吧

Ⅳ android 友盟消息推送 如何保活

其实这个很简单,第三方推送一般都会用“长连护保”功能来保证消息的到达,以下是该平台推送对长连护保的解释:长连互保,用户设备中任何一个集成过友盟推送的app打开,即使他的app没打开也能启动push service,收到推送。其他的第三方推送工具,例如极光推送也能实现APP保活的功能,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。极光推送是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果

Ⅵ Android 7.0 和8.0 如何保活

1.控制onStartCommand函数的返回值。

我对这个函数的理解是:当服务被异常终止时,是否重启服务?

有些文章里面在用这个做保活时,修改的是flag,在我实际测试中是无效。有效的做法是直接返回参数。另外默认的flags值为0,是START_STICKY_COMPATIBILITY。如下:

[java]view plain

@Override

publicintonStartCommand(Intentintent,intflags,intstartId){

//TODOAuto-generatedmethodstub

returnSTART_STICKY;

//returnsuper.onStartCommand(intent,flags,startId);

}

测试结果:

魅族的机子:无效,不管默认还是修改参数,在DDMS里面直接结束进程后都不会重启服务。

其它三台机子(9100没测):默认参数的情况下就会重启服务,return START_STICKY 会重启,return START_NOT_STICKY 不会重启。

其它:1.用360一键清理,或者360超级ROOT的手机优化,会杀死进程,过会儿还是会重启,只是会慢很多,大概是在排队重启服务。

2.一次测试完后确保服务重启后,执行了onStartCommand函数。

2.在service 的onDestory里面重启服务

这个在所有能触发onDestory的情况下都是有效的。4台测试机都测试过。直接startService 或者发送广播重启都可以 。

但能触发onDestory的情况,我不知道内存回收会不会触发。另外两种情况(2,3)是不触发的。我的测试方法是在“设置”-》应用管理-》正在运行-》停止服务。(这个是正常停止服务,会触发onDestory,所以上面的onStartCommand效果不会触发。)

3.提高服务的优先级

这个主要是针对第一种kill服务的情况,内存回收机制。由于这个测试比较难搭建。360清理什么把后台的进程都杀的,体现不出优先级这样的概念。我的建议是能提高就提高。下面例几种。

通知–前台service

创建一个通知使自己成为前台service

测试结果:

360一键清理和手机优化,不会把该service结束掉。

对于后台保护:华为G730不结束service,魅族和华为TL00H都会结束service。

通知栏的保活效果还是可以的,一般的应用要求基本能满足了。

若有root权限:

android:persistent="true",并放入system/app中

测试结果:效果一般,三星9100上用360等清理工具杀不掉进程,在华为G730上没什么效果.(这个测试跟onStartCommand有点干扰)

4.守护进程

双服务

360会同时杀掉两个服务,分两个apk也一样。

native守护进程

360不会杀掉native的守护进程,但在魅族和华为TL00H中待机一段时间后还是会被杀掉。

结论和待续

1.一般的应用添加到后台保护进程后,改个onStartCommand返回值,再加个通知。基本上大部分都能保活了。

2.双服务我觉得没有native守护进程来的好,虽然360,微信什么的都有几个进程服务,但如果不添加到后台保活的话,效果一样不能保活,也会进入停止状态。

3.但是.360手机助手会创建双natice守护进程做相互的看守。存活的效果会高一点点。“没添加到后台保活”一般只会杀一次,(魅族是屏幕关闭后5分钟,华为TL00H是屏幕关闭时)

Ⅶ android开发 如何像微信一样,不启动App也能收到消息

常见的方法是借助第三方推送工具实现APP保活,第三方推送一般都会用“长连互保”功能来保证消息的到达,长连互保的意思是,用户设备中任何一个集成过该推送的app是打开的状态,即使这个app没打开也能启动push service,收到推送。第三方推送工具,例如极光推送也能实现APP保活的功能,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果

Ⅷ 如何让一个应用程序一直在后台运行

1、保活手段

1 业界保活手段:黑色保活,灰色保活,白色保活

2 黑色保活:

1 不同的APP进程,用广播相互唤醒,包括利用系统广播进行唤醒

2 常见手段:

1 开机,网络切换,拍照,拍视频等利用系统广播唤醒APP

此场景Google已经意识到,在Android N 取消了 拍照,视频,网络切换的广播

2 接入第三方的SDK也会唤醒相应的APP进程

3 假如你手机里装了支付宝,淘宝,UC等阿里系的APP,那么你打开任何一个,都有可能唤醒其他的阿里系的APP

3 白色保活:

就是调用系统的API启动一个前台Service进程,这样会在通知栏生成一个Notification,用户知道哪些进程正在运行

4 灰色保活

1 保活领域应用最为广泛,利用系统的漏洞来启动一个前台的Service进程,与“白色保活”不同的是,它不会在通知栏生成一个Notification,用户无法察觉,但是优先级要高于普通的后台进程。

2 实现思路

思路一:当API<18,启动前台的Service直接传入new Notification();

思路二:当API >= 18,同时启动两个id相同的前台Service,然后再将后启动的Service做stop处理代码这样写:

[java]view plain

importandroid.app.Notification;

importandroid.app.Service;

importandroid.content.Intent;

importandroid.os.Build;

importandroid.os.IBinder;

/**

*APP灰色保活

*Createdbyfflinon2016/4/23.

*/

{

privatefinalstaticintGRAY_SERVICE_ID=1001;

@Override

publicIBinderonBind(Intentintent){

returnnull;

}

@Override

publicintonStartCommand(Intentintent,intflags,intstartId){

//API<18,此方法能有效地隐藏notification的图标

if(Build.VERSION.SDK_INT<18){

startForeground(GRAY_SERVICE_ID,newNotification());

}else{

Intentintent1=newIntent(this,GrayInnerService.class);

startService(intent1);

startForeground(GRAY_SERVICE_ID,newNotification());

}

returnsuper.onStartCommand(intent,flags,startId);

}

//给API>=18的平台上做灰色保护手段

{

@Override

publicIBinderonBind(Intentintent){

returnnull;

}

@Override

publicintonStartCommand(Intentintent,intflags,intstartId){

startForeground(GRAY_SERVICE_ID,newNotification());

stopForeground(true);

stopSelf();

returnsuper.onStartCommand(intent,flags,startId);

}

}

}

3 检验方法:

首先看系统通知栏有没有Notification,如果没有,就进入手机adb shell模式,输入命令mpsys activity services PackageName

打印出指定包名的所有进程中的service信息,看下有没有isForground=true的信息,如果有,就说明了该APP使用了灰色保活

4 使用灰色保活手段并不意味着你的应用就能永生不死,只能说提高了进程的优先级,如果应用占用了很大的内存,还是会被回收的

2、进一步理解保活

1 进程回收机制

系统出于体验和性能上的考虑,APP在退出后台时系统并不会真正的kill掉这个进程,而是将其缓存起来,打开的应用越多,后台缓存的进程也就越多。在系统内存不足的情况下,系统开始根据自身的一套进程回收机制来判断要回收掉哪些进程,这套杀死进程回收内存的机制叫 Low Memory Killer,它是基于Linux内核的OOM killer机制诞生的,该机制为每个系统分配了一个值,叫做oom_adj,代表了进程的优先级,oom_adj越大,代表优先级越低,越容易被回收,普通APP进程的oom_adj >=0,系统的可能会小于0.

2 查看oom_adj的值,需要用到两个shell命令

ps | grep 包名

$cat /proc/进程id/oom_adj

3 结果发现,APP推到后台,UI进程的值降低最为明显,因为它占用的内存资源最多,因此,为了避免后台UI进程被杀,需要尽可能的释放一些不用的图片,音频资源

Ⅸ 小米手机保活进程,打不开app

系统损坏或者发生错误。桌面应用发生错误或无响应。先重启手机,无法重启请强制重启。以上方法无用或经常发生,建议升级系统,或者重新装系统。进程保活就是进程永远存在内存中,是杀不死的,就算杀死了也会有办法重新启动起来。

Ⅹ 青云壁纸怎么开启保活

打开APP,找到喜欢的壁纸下载并应用,就可以了。软件里的壁纸全部免费且壁纸diy,用户可以在上面diy自己喜欢的壁纸,随时设置自己喜欢的diy壁纸。青云壁纸App是一款性能强大非常好用的手机壁纸App。软件为用户提供海里的高清无水印壁纸和素材,无论是网上的热门壁纸还是经典IP主题,都可以在这里找到,分类齐全。


赞 (0)