gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:38:29 25 4
gpt4 key购买 nike

我有我的 Android 应用程序,我怀疑另一个应用程序在运行时杀死了我的所有线程,这给我带来了很多问题。

有一些问题:

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

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

谢谢!

PS:抱歉我的英语不好

最佳答案

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

  • 将代码包装在 Service 中(这将确保如果系统资源不足,它不会是第一个被杀死的东西)

  • 但是仍然要使用服务内部的另一个线程(这样你的主线程就不会被阻塞)。

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

A foreground service is a service that's considered to be something the user is actively aware of and thus not a candidate for the system to kill when low on memory. A foreground service must provide a notification for the status bar, which is placed under the "Ongoing" heading, which means that the notification cannot be dismissed unless the service is either stopped or removed from the foreground.

For example, a music player that plays music from a service should be set to run in the foreground, because the user is explicitly aware of its operation. The notification in the status bar might indicate the current song and allow the user to launch an activity to interact with the music player.

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

  • 学习使用警报管理器。如果您的服务由于某种原因被终止,这将重新启动您的服务。

  • 尽可能避免在汽车不动、驾驶员休息、午餐时发送 GPS 更新,或者仅在手机插入车载充电器时发送更新。等等。有一些框架旨在最大限度地减少 GPS 天线和数据计划的使用。尽可能地利用这些。

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

关于java - 我可以防止我的应用程序不能被其他应用程序杀死吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16994604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com