摘要: Android 中的定时任务一般有两种实现方式,一种是使用 Java API 里提供的 Timer 类, 一种是使用 Android 的 Alarm 机制。这两种方式在多数情况下都能实现类似的效果,但 Timer 有一个明显的短板,它并不太适用于那些需要长期在后台运行的定时任务。我们都知道,为 了能 阅读全文
posted @ 2016-05-10 17:42 dodo-yufan 阅读(22696) 评论(1) 推荐(0) 编辑
摘要: 9.5.2 使用 IntentService 话说回来,在本章一开始的时候我们就已经知道,服务中的代码都是默认运行在主线程 当中的,如果直接在服务里去处理一些耗时的逻辑,就很容易出现 ANR(Application Not Responding)的情况。所以这个时候就需要用到 Android 多线程 阅读全文
posted @ 2016-05-10 17:40 dodo-yufan 阅读(10077) 评论(1) 推荐(2) 编辑
摘要: 9.5.1 使用前台服务 服务几乎都是在后台运行的,一直以来它都是默默地做着辛苦的工作。但是服务的系统 优先级还是比较低的,当系统出现内存不足的情况时,就有可能会回收掉正在后台运行的服 务。如果你希望服务可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收, 就可以考虑使用前台服务。前台服务 阅读全文
posted @ 2016-05-10 17:38 dodo-yufan 阅读(5729) 评论(0) 推荐(0) 编辑
摘要: 9.4 服务的生命周期 之前章节我们学习过了活动以及碎片的生命周期。类似地,服务也有自己的生命周期, 前面我们使用到的 onCreate()、onStartCommand()、onBind()和 onDestroy()等方法都是在服务的生命周期内可能回调的方法。 9.4 服务的生命周期 之前章节我们 阅读全文
posted @ 2016-05-10 17:36 dodo-yufan 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: 9.3.3 活动和服务进行通信 上一小节中我们学习了启动和停止服务的方法,不知道你有没有发现,虽然服务是在活 动里启动的,但在启动了服务之后,活动与服务基本就没有什么关系了。确实如此,我们在 活动里调用了 startService()方法来启动 MyService 这个服务,然后 MyService 阅读全文
posted @ 2016-05-10 17:35 dodo-yufan 阅读(2194) 评论(0) 推荐(0) 编辑
摘要: 9.3 服务的基本用法 了解了 Android 多线程编程的技术之后,下面就让我们进入到本章的正题,开始对服务 的相关内容进行学习。作为 Android 四大组件之一,服务也少不了有很多非常重要的知识点, 那我们自然要从最基本的用法开始学习了。 9.3.1 定义一个服务 首先看一下如何在项目中定义一 阅读全文
posted @ 2016-05-10 17:31 dodo-yufan 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 9.2.4 使用 AsyncTask 不过为了更加方便我们在子线程中对 UI 进行操作,Android 还提供了另外一些好用的工 具,AsyncTask 就是其中之一。借助 AsyncTask,即使你对异步消息处理机制完全不了解, 也可以十分简单地从子线程切换到主线程。当然,AsyncTask 背后 阅读全文
posted @ 2016-05-10 17:29 dodo-yufan 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 9.1 服务是什么 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那 些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使 当程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。 不过需要注意的是,服务 阅读全文
posted @ 2016-05-10 17:27 dodo-yufan 阅读(4832) 评论(0) 推荐(0) 编辑