android:第十章,后台的默默劳动者——服务,学习笔记

一、多线程
1)本章首先介绍了安卓的多线程编程,说明在子线程中如果要修改UI,必须通过Handler, Message, MessageQueue, Looper来实现,但是这样毕竟太麻烦了。
 2)然后紧接着就给出了AsyncTask,通过继承这个类,就可以在他的里面直接修改UI元素,方便很多;

二、服务
1)首先给出服务的常规方法,比如创建onCreate、启动onStartCommand、停止onStop、销毁onDestroy;
2)然后说明了Activity和Service之间如何通信,这里要借助一个Binder和ServiceConnection两个抽象类,当然还有Activity中的bindService, unbindService方法,
3)接线来就提出了前台服务的概念了,这个确实现在很多程序都在用,其实实现起来很简单,就是借助于我们在第八章中的系统通知的Notification,然后再调用setForeground(xxxx)来实现;
4)紧接着IntentService出现了;
    其实开篇作者就提出了一个问题,不要被后台服务这个名字所迷惑,其实服务默认都是运行在主线程的,所以如果在里面做很耗时的事情的主线程就会很卡,会出现ANR,所以我们还是要考虑使用真正的后台服务,也就是IntentService。


最后作者给出了一个完整的例子,在例子中,作者没有使用IntentService,而是使用Service+AsyncTask的方式,后面我倒是可以考虑使用IntentService来重写一下这个例子。





posted @   拿走不谢  阅读(223)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示