Service组件身为四大组件之一的Service在程序中使用频率是比较高的,主要用来处理一些不需要UI的耗时的后台操作,或者在后台对外提供接口,供其他组件调用。Service的实现是比较典型的C/S模式,后文介绍用法时会有体会。两种常见的Service
IntentService:适合同一时间只处理一个任务,代码少,使用简单
是Service类的子类,默认会开启一个工作线程,你需要覆盖onHan...
分类:
其他好文 时间:
2015-03-28 08:53:22
阅读次数:
206
如果需要在onHandleIntent之前执行一些操作,比如需要停止当前正在执行的任务,可在onStart做这个操作,
需要注意的是必须在onStart函数的最后(执行完我的操作后)调用super.onStart(intent, startId),因为调用super.onStart后就会开始执行onHandleIntent。...
分类:
移动开发 时间:
2015-03-14 23:18:02
阅读次数:
418
StrictMode StrictMode最常用来捕捉应用程序的主线程,它将报告与线程及虚拟机相关的策略违例。一旦检测到策略违例(policy violation),你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例。除了主线程,我们还可以在Handler,AsyncTask,AsyncQueryHandler,IntentService等API中使用StrictMod...
分类:
其他好文 时间:
2015-03-09 22:33:07
阅读次数:
284
郭霖最近整理的文章:合理管理内存分析编码过程中如何避免过多内存占用,以及如何实现高性能的内存使用。尽可能使用intentService;当界面不可见时释放内存;当内存紧张时释放内存;避免bitmap占用内存;使用android api提供的数据集合;减少抽象类的使用;避免使用依赖注入;使用proGu...
分类:
移动开发 时间:
2015-03-08 15:31:55
阅读次数:
134
8.加入服务来实现自动更新和时钟功能新建一个服务类,通过发送Intent来通知AppWidgetProvider: 1 import android.app.AlarmManager; 2 import android.app.IntentService; 3 import android.a...
分类:
其他好文 时间:
2015-03-06 20:32:06
阅读次数:
146
Service 在官方API(http://developer.android.com/reference/android/app/Service.htmlhttp://developer.android.com/reference/android/app/Service.html)的描述为A Service is an application component representing eit...
分类:
移动开发 时间:
2015-02-27 13:39:51
阅读次数:
204
因为多数启动服务不必同时处理多个请求(在多线程情景下会很危险),所以使用IntentService类实现服务是很好的选择。本经验将通过继承IntentService输出当前时间教大家如何使用IntentService。 然后我们在编写一个CurrentTimeService类,继承Inte...
分类:
移动开发 时间:
2015-02-12 15:32:23
阅读次数:
175
1.startservice (两种方法,继承service类或者继承intentservice 类)继承service类,在onstartcommend重载方法中实现业务逻辑的处理,如果耗时过长最好新开一个线程,因为默认是在程序的主线程中,会造成阻塞等问题。在有多个请求的时候,为了防止在第一个请求...
分类:
移动开发 时间:
2015-02-02 22:40:27
阅读次数:
147
图片来源网络可以看到,两种service的生命周期都相对简单,有一点不同的是,Intentservice每次调用的时候都执行onstartcommand,而boundservice一旦启动了之后,就不会每次执行onbind在启动服务的activity消亡时,Intentservice不会消失,而bo...
分类:
其他好文 时间:
2015-02-01 20:20:37
阅读次数:
245
使用IntentService
1.Service缺陷
由于Service本身存在以下两个问题:
(1)Service不会专门启动一条单独的进程,Service与他所在应用位于同一进程中;
(2)Service也不是专门一条新的线程,如果我们在Service中直接处理耗时的任务,那么就会导致应用程序出现假性"卡死"。如果我们需要在Service处理耗时任务,...
分类:
移动开发 时间:
2015-01-18 11:55:39
阅读次数:
212