ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android-使用后台服务开发活动的最佳做法

2019-12-08 19:25:22  阅读:277  来源: 互联网

标签:manifest background-process alarmmanager android


我的应用程序有一个用于UI的活动和一个用于后台轮询的服务.好像是标准票价.

> AlarmManager是否可以在不调用Activity OnCreate的情况下触发服务意图?
>参加活动和活动有什么好处吗?服务进入不同的应用程序?这样会创建2个apk并使其无法作为一个应用程序投放到Market吗?您能以某种方式将2个应用程序放入一个清单吗?
>关于两者之间的通信:

-如果活动&服务是同一应用程序的一部分-我不能仅将通用对象(如用户对象)存储在应用程序范围内以供2共享吗?

-似乎我什至不需要为AIDL烦恼-两者在Application范围内也可以相互引用很弱-并且它们可以以这种方式相互调用方法?还是他们应该使用某种观察者模式或BroadcastListener互相发布/订阅?

解决方法:

Can AlarmManager trigger the Service Intent without Activity OnCreate being called?

是.

Is there any benefit to putting the Activity & Service into different Applications?

恕我直言,不.

Would this create 2 apk’s and make it impossible to put into Market as one app?

是.

Can you put 2 applications into one manifest somehow?

从纯XML的角度来看,清单中有余地可以容纳多个< application>应用程序.元件.但是,对于AFAIK,仅支持一种.

If Activity & Service are part of the same Application – can’t I just store common objects (like User object) at the Application scope for the 2 to share?

对于非常快速的事情,是的.但是,请记住,您的服务可能会被关闭(通过Android,用户等),此后您的进程可能会终止,并且您的Application对象会变得po琐.我只会将其用于光缓存.

It seems like I don’t even need to bother with AIDL

正确-只有进程间服务绑定才需要.

the two could just have weak references to each other at the Application scope as well

我不会在一百万年内这样做.请负责任地使用平台.活动和服务有很多通信方式,但仍然保持松散耦合(或者,在本地绑定模式下,以Android感知的方式紧密耦合).

Or should they pub/sub each other with some kind of Observer Pattern or BroadcastListener thing?

遵循这些原则是可取的.虽然活动和服务可以同时位于同一进程中,但它们并非旨在直接链接在一起.

标签:manifest,background-process,alarmmanager,android
来源: https://codeday.me/bug/20191208/2093762.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有