zoukankan      html  css  js  c++  java
  • 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来重写一下这个例子。





  • 相关阅读:
    opencv SVM多分类 人脸识别
    OPENCV SVM介绍和自带例子
    opencv 彩色图像分割(inrange)
    [转] caffe激活层及参数
    [转] caffe视觉层Vision Layers 及参数
    opencv 车牌字符分割 ANN网络识别字符
    Windows caffe VGG人脸识别
    Windows caffe 跑mnist实例
    技术博文阅读摘要分享-9月
    Python2和Python3的差异
  • 原文地址:https://www.cnblogs.com/strinkbug/p/6883389.html
Copyright © 2011-2022 走看看