gpt4 book ai didi

java - 服务数量对应用效率的影响

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:03 25 4
gpt4 key购买 nike

我在我的 android 应用程序中使用了 3 个服务。

第一项服务:收听广播接收器。

第二:在此服务中,我使用了一个 Runnable,它每秒运行一次以获取前台应用程序的详细信息。

第三步:将数据上传到服务器。

现在,我需要开发一个具有上述应用程序功能的库项目。

库项目中使用的任何服务或接收器都必须在客户端应用程序的 list 文件中声明。我的问题来了:

  1. 我可以使用线程而不是服务,这样我就可以跳过将服务定义声明到 list 文件中的问题吗?但是,我将不得不使用一项服务来实现广播监听器。

  2. 应用程序中使用的服务数量是否会影响应用程序的效率??因为,客户的应用程序可能有一个或两个服务。如果他们希望包括我的图书馆,那么他们的服务数量将增加到 4 或 5。这将是一个明确的问题。

  3. 如果我使用生命周期取决于应用程序进程的线程,如果没有内存,我会遇到它被杀死的问题吗?如果它被杀死,服务将重新启动,但我不知道如果我使用线程如何遇到这个问题。

最佳答案

1- 线程和服务用于不同类型的操作。例如,前台服务用于流式传输音频/视频,线程池用于下载大量图像并将它们显示在imageviews (UniversalImageLoader, Volley) 对于单个/简单的操作,您可以使用 Asynctask,但是当您需要多个线程时,您会更喜欢经典的线程和处理程序。

2- 您可以在一个应用程序中使用多项服务,这不会影响性能。当然,这取决于您的代码质量以及服务之间的交互方式。例如,在我的一个应用程序中,我使用一项服务进行下载,一项用于连接,一项用于流式传输实时音频和音频文件,一项用于管理这两项。我使用 Intent 和广播接收器。 无延迟。

3- 如果应用程序被终止,后台服务也会被终止。 由您决定在 onDestroy() 中干净地终止您的线程,或者使用您可以收听 kill Intent 的广播接收器。

关于java - 服务数量对应用效率的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18998630/

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