android– 对服务执行长时间运行的 *** 作

android– 对服务执行长时间运行的 *** 作,第1张

概述我正在构建一个具有服务的应用程序.我知道所有应用程序组件都在同一个UI进程中运行,至少你在清单中指定它.所以为了避免ANR的消息,我有三种方法.>在清单中指定服务以在单独的进程中运行 android:process=“:remote”但是我已经阅读了一些StackOverflow的帖子 说它不是一个好主意

我正在构建一个具有服务的应用程序.我知道所有应用程序组件都在同一个UI进程中运行,至少你在清单中指定它.所以为了避免ANR的消息,我有三种方法.

>在清单中指定服务以在单独的进程中运行
 android:process =“:remote”但是我已经阅读了一些StackOverflow的帖子
 说它不是一个好主意,因为它消耗了大量的电池和cpu处理.
 我真的很尊重,因为那些帖子来自可信赖的人.
>使用IntentService.这可能是一个很好的出路.但我需要我的服务运行即使
 活动不可见.因为我需要服务不断检查新服务的Web服务
 来自其他用户的消息并通知通知.是否可以使用
 一个IntentService?这是一个优雅的解决方案.
>使用本地服务.只是从清单文件中删除androID:process =“:remote”属性.
 但我得到一些…… OnMainThreadException错误.这意味着我需要创建一个特殊的
 线程执行那些长时间运行的 *** 作或使用AsyncTask,

也许有另一种方法可以做到这一点.请告诉我,如何对服务执行长期运行 *** 作.真的很有必要.

谢谢.

解决方法:

首先,我们接受有两个部分:活动部分(网络)和下一个活动部分之前的一些睡眠部分.我认为您可以使用普通的本地IntentService来处理活动部件.完成后,每个活动部件都应使用AlarmManager重新安排下一个活动部件.这种方法可确保您的应用在睡眠部分时不会消耗资源.你是对的 – 一旦IntentService得到一个结果呈现给用户,它就可以使用Notification.

总结

以上是内存溢出为你收集整理的android – 对服务执行长时间运行的 *** 作全部内容,希望文章能够帮你解决android – 对服务执行长时间运行的 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存