MakeS要一直在后台运行怎么才能运行日本游戏起作用吗

没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!如何让android的service一直在后台运行?-土地公问答
如何让android的service一直在后台运行?
如何让android的service一直在后台运行?
如何让android的service一直在后台运行,即使activity已经被finish掉了和应用程序的主进程已经被用户清掉了,我还让这个服务在后台运行。另外,如果用户关机后,重新启动之后我也想这个服务就启动。我尝试了很多方法,刚一开始用localservice发现不行,又改用remoteservice,发现调用startservice后我的activity退掉之后,服务还在运行,但是我把该应用程序清了之后service就停止了。我想问一下各位做android的大哥,service除了在activity中启动还有别的东西可以启动service吗?我上网查了说用这个广播,可以实现在service停止掉之后重新启动,但是那个广播好像只能动态注册,我在activity中的ontart中注册后还得在ondestroy中解除,这是否意味着我activity没有启动这个广播就不起作用了,如果这样的话还是没有达到目的。总之,我的服务是依赖于主进程而存在的,当我把应用程序关了之后,就是android显示后台运行程序然后左滑关掉程序后,我的服务就不能运行了。但是微信和qq可以这样,他们的程序没运行但可以有进程和服务在后台运行,这是怎么做的呢?
android 一直运行的后台服务是不存在的,而且也不是最佳实践,因为一直运行的后台服务会耗费大量系统资源,影响其他程序的响应从而影响到用户体验。题主问的是如何让后台服务一直运行,我认为只有系统自带的应用或者定制的系统应用才可以有这么高的优先级可以保持后台服务一直运行。如果是在非root的系统上的普通应用,只能是通过一些方法,让用户觉着后台服务一直运行。比如,监听开机事件,显式地启动后台服务;启动后台服务后给它设置“前台运行”的优先级;定时任务来检查后台服务是否在运行,不运行的话重新启动它。可以考虑使用如下几种方案来达到一直运行的效果。1. 调用startForeground方法,android: Service vs SingleTop Activity moved to background2. 使用AlarmManager 发送定时任务 : Diamonds Are Forever. Services Are Not.更极端的例子,如果应用被干掉了,定时任务(AlarmManager)这种方法确实不管用了,但是可以考虑给后台服务设置“前台”运行的优先级这种方法。比如音乐播放器,在启动播放服务后,通知栏会显示一个播放进度的通知条,这个通知条是必须的,因为通过它才能使后台服务获取到“前台”运行的优先级从而避免被系统干掉。这种做法也是官方推荐的做法。下面是官方文档中的一些具体说明:说明一A started service can use the startForeground(int, Notification) API to put the service in a foreground state, where the system considers it to be something the user is actively aware of and thus not a candidate for killing when low on memory. (It is still theoretically possible for the service to be killed under extreme memory pressure from the current foreground application, but in practice this should not be a concern.)说明二ServiceAndroid Developers(int, Make this service run in the foreground, supplying the ongoing notification to be shown to the user while in this state. By default services are background, meaning that if the system needs to kill them to reclaim more memory (such as to display a large page in a web browser), they can be killed without too much harm. You can set this flag if killing your service would be disruptive to the user, such as if your service is performing background music playback, so the user would notice if their music stopped playing.其他参考资料使用startForeground让android服务前台运行android - startForeground() without showing notification
1. 把service和activity分开,让service开机启动。设置一个broadcast receiver接受开机信号,使用RECEIVE_BOOT_COMPLETED的permission, 然后启动service。activity启动后绑定到service上,通过ipc机制通信,acitivity结束后松绑。注意安装后要手动启动service,不会自动启动,之后重启手机后才会随开机启动。2. 在内存低的时候系统会自动清理进程,这时候后台service可能会被杀掉。可以在onStartCommand中返回START_STICKY,这样系统有足够多资源的时候,就会重新开启service。3. 以上不需要NDK,直接用SDK开发就可以了。
我现在也遇到这个问题,我想楼主之所以出现这个问题的原因是,你在Activitiy中创建的Service运行在当前进程中,当你把这个Activitiy的进程杀掉之后,自然这个服务也就停止了。所以我的建议是在startService的时候,让这个Service运行在与该Activity不同的进程中(可以startService或者开机时创建一个新的进程)。实际上就是Linux里面的进程操作。可以使用NDK开发,用C或者C++新建一个进程来运行自己的服务,并提高进程优先级,避免被清理掉(我猜测QQ和微信的推送服务,或许是这么实现的)。但是这涉及一个问题:你的应用是否应该常驻内存?内存长期被占用会导致用电量的提升,所以非系统的应用一般都是可以在清理内存的时候被清理掉的(除了某某手机管家之类的应用,杀都没法杀掉)。
前一阵子很流行的我要早睡app就是运行了一个service,要么他是注册了各种广播事件,比如锁屏啊,解锁啊,之类的,要么他是监测logcatAndroid, Detect when other apps are launched
有一种做法是开两个进程来相互监督,一旦其中一个进程被停止,另一个检测到后,立即或稍后重启另一个进程。这里可以效仿这种做法。可以开两个进程,一个用来做前台,另一个负责运行服务,后者没有activity,由前者初始化并启动,这样,当前台进程被关闭时,服务并不被关闭
在framework层可以实现。做到rom里。
其它类似问题
其它人正在问的问题iOS 使程序一直后台运行
[问题点数:20分]
iOS 使程序一直后台运行
[问题点数:20分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
匿名用户不能发表回复!|安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其_百度知道
安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其
安卓系统的app,我需要它一直在后台运行,我该怎么加锁才可以 关闭其他app的后台而不关闭它,让软件一直处于运行状态。
我有更好的答案
不同手机可能不太一样,讲一个通用的。按住手机Home键不松,出现清理的画面,这时不要点击清理,按住你要锁定的App向下滑动,完成之后,下面会有个小锁,这样下次清理时,它就不会被清理了。
为您推荐:
其他类似问题
安卓系统的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。已解决问题
如何让手机软件一直在后台运行?
提问时间: 01:19:50
手机上有一款免流软件,只要软件一直打开运行就不会消耗自己的流量,但软件有时候会自动关闭,有时候一不注意就用的是自己的流量,希望这个软件一直运行,如何才能做到,望大神指教!!
浏览次数:1697
在Android 4.0及以上 这是最简单的事情了 选中限制后台数据即可(需要先行启用&限制移动数据用量&) 选中后,应用程序不能在后台使用蜂窝网络流量 这个功能对Wlan没有作用 -- iOS7有一个类似的选项,叫做&允许应用在后台刷新&,也就是说,它可以用于阻止应用程序在后台运行(以从网络获取内容),在Android要达到类似效果,需要使用绿色守护这样的工具。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题

我要回帖

更多关于 软件如何才能虚拟运行 的文章

 

随机推荐