我可以阻止我的应用程序不能被其他应用程序杀死吗?

时间:2013-06-08 00:00:49

标签: java android

我有我的Android应用程序,我怀疑另一个应用程序何时运行,杀死我的所有线程,这对我来说造成很多问题。

有一些问题:

1-另一个应用程序可以做到吗?我的意思是,当应用程序在屏幕上运行时,可以杀死在后台运行的另一个线程?

2-如果发生这种情况,我能做些什么来防止这种情况发生吗?或者检测是否真的发生了(杀死线程)?

谢谢!

PS:抱歉我的英文不好

1 个答案:

答案 0 :(得分:0)

Rodrigo,因为您通过电子邮件告诉我您的申请未包含在服务中。这是你应该开始的第一个地方。

  • 将您的代码包裹在Service中(这将确保如果系统资源不足,则不会首先被杀死)

  • 但是仍然使用服务中的其他线程(这样你的主线程就不会被阻止)。

  • 向系统声明您的服务位于前台(即使它在后台)。

  

前台服务是一种被认为是某种东西的服务   用户积极地意识到并因此不是系统的候选者   在内存不足时杀死。前台服务必须提供   状态栏的通知,位于“正在进行”下   标题,这意味着除非通知不能被驳回   该服务要么停止要么从前台删除。

     

例如,从服务播放音乐的音乐播放器应该是   设置为在前台运行,因为用户明确知道   它的运作。状态栏中的通知可能表示   当前歌曲并允许用户发起与之交互的活动   音乐播放器。

  • 尽可能多地将功能放在云端。例如,代替您的应用程序每10秒轮询一次Web服务器以获取传入的客户请求。让GCM(谷歌云消息传递)ping手机,或让网站向您的应用发送短信,告诉它从服务器获取新请求。由于您的应用将使用广播接收器,因此它不需要在后台运行。

  • 学习使用Alarm Manager。如果由于某种原因它会被杀死,这将重新启动您的服务。

  • 尽量避免在汽车不移动时,或在司机休息时,午餐时或在手机插入车载充电器时仅发送更新时尽可能多地发送GPS更新。等等。有一些框架旨在最小化gps天线和数据计划的使用。尽可能多地利用这些。

  • 如果数据连接不可靠。在到达连接更好的地方之前,请避免使用gps天线。使用gps需要很大的力量。它甚至可以让你的手机真的很热。无论你做什么,尽量避免为gps天线供电。从技术上讲,您甚至可以发送短信来更新汽车坐标上的服务器(假设客户有无限的短信/短信计划)。