西南IT社区
    • 注册
    • 登录
    • 搜索
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 工作机会
    • 活动
    • 项目

    Android系统的四大组件之一service

    极客生涯
    service android系统的四大组件
    1
    1
    58
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 破
      破茧边缘 最后由 编辑

      Service主要工作原理是在应用程序中不需要界面展示或交互的长时间操作,就好比是播放音乐,网络请求等都是可以在服务Service中完成的,是可以支持多线程的组件。service与界面Activity的生命周期一样,在服务Service的声明周期内不允许执行耗时操作,所以,虽然服务Service中可以进行长时间操作,但是仍然需要将这部分耗时操作放入非Android系统主线程中。

      并且是进程间通信时所用的方式,不仅需要借助意图Intent对象,还要使用实现android.content.ServiceConnection接口的对象,进而调用上下文环境Context对象的bindService方法,而flags 标记了启动该服务Service时所绑定的模式。

      并且调用attachBaseContext(Context base)加载运行环境。Service也是android.content.ContentWrapper的子类,所以系统在创建服务Service的实例化对象后,也会优先对其加载上下文运行环境,将参数 base 作为当前应用程序的Context对象与该服务Service绑定。在该方法被调用之后的任意位置,就可以通过调用getBaseContext()等系列方法获取并使用当前服务Service所在的上下文环境了。

      调用onCreate()服务创建,在创建服务Service并加载运行环境之后,系统会优先调用该方法,表示当前服务已经完成创建。可以重写该方法执行一些服务内部使用的资源初始化操作。在执行完该方法之后,就标志着当前服务Service创建成功了,之后会一直处于运行状态,同时根据上述启动方式的不同,调用不同的生命周期方法。

      f6b311aa-3cdc-43db-86dc-7c53c7a66f50-image.png

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      使用HTML构建办公软件 使用HTML构建办公软件 使用HTML构建办公软件
      破
      成
      Y
      洋
      书
      Y
      D
      U
      Y
      娇
      玩
      1
      光
      A
      庆
      小
      U
      Y
      L
      I
      Z
      I
      Y
      C
      Z

      西南地区IT社群(QQ)
      云南
      【昆明网页设计交流吧】243627302
      【昆明nodejs交流吧】 243626749
      【VUE】838405306
      【云南程序员总群】343606807
      【昆明UI设计】104031254
      【云南软件外包】15547313
      贵州
      【PHP/java源码/站长交流群】55692114
      四川
      【成都Java/JavaWeb交流】86669225
      【vaScript+PHP+MySql】116270060
      【UI设计/设计交流学习群】135794928
      重庆
      【诺基亚 JAVA游戏博物馆】 559479780
      【PHP,Java,Python,C++接单】 442103442
      西藏
      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      ©2019-2021 滇ICP备20006698号