当前位置: 首页 > news >正文

专业网站建设阿里云网站快照优化公司

专业网站建设阿里云,网站快照优化公司,html动态页面代码,找柳市做网站首先、我们来看下下面的流程图: 以上是两种生命周期,那我先不讲它们怎么实现。 首先写个类继承Service public class Dujinyang extends Service { int myStartMode; // indicates how to behave if the service is killed IBinder …

首先、我们来看下下面的流程图:




======

以上是两种生命周期,那我先不讲它们怎么实现。

首先写个类继承Service

public class Dujinyang extends Service {  
    int myStartMode;       // indicates how to behave if the service is killed   
    IBinder myBinder;      // interface for clients that bind   
    boolean myAllowRebind; // indicates whether onRebind should be used   
  
    @Override  
    public void onCreate() {  
        // The service is being created   
    }  
    @Override  
    public int onStartCommand(Intent intent, int flags, int startId) {  
        // The service is starting, due to a call to startService()   
        return mStartMode;  
    }  
    @Override  
    public IBinder onBind(Intent intent) {  
        // A client is binding to the service with bindService()   
        return mBinder;  
    }  
    @Override  
    public boolean onUnbind(Intent intent) {  
        // All clients have unbound with unbindService()   
        return mAllowRebind;  
    }  
    @Override  
    public void onRebind(Intent intent) {  
        // A client is binding to the service with bindService(),   
        // after onUnbind() has already been called   
    }  
    @Override  
    public void onDestroy() {  
        // The service is no longer used and is being destroyed   
    }  

那这样我们就很好理解了。

---那我们可以看到的是,服务的生命周期很简单,里面包含了2个启动方式的生命周期,它只继承了onCreate(),onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法。

---这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法。


这2种启动模式,执行着上图的生命周期,只是启动的时候调用下面的2种不同方式便可。

1。startService()

2。bindService()


=========================================================================

  • 本地服务 Local Service 用于应用程序内部。
           --》调用Context.startService()启动,以调用Context.stopService()结束。它可以调用Service.stopSelf() 或 Service.stopSelfResult()来自己停止。值得一提的是:   不论你调用了多少次startService()方法,只需要调用一次stopService()就可以停止服务了。    (用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。)
  • 远程服务 Remote Service 用于android系统内部的应用程序之间。
         它通过自己定义并暴露出来的接口进行程序之间的操作。客户端建立一个到服务对象的连接,并通过这个连接来调用服务。这个连接以调用Context.bindService()方法建立,以调用 Context.unbindService()关闭,就像AIDL。多个客户端可以绑定至同一个服务。如果服务此时还没有加载,bindService()会先加载它。
      (
    可被其他应用程序复用,调用已有的即可,就像第三方的应用)。 
另:而启动service,根据onStartCommand的返回值不同,有两个附加的模式:
1. START_STICKY 用于显示启动和停止service。
2. START_NOT_STICKY或START_REDELIVER_INTENT用于有命令需要处理时才运行的模式。
============================================================================

上面讲到的2种启动模式:它们的不同
   1. 使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。

   2。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。

---附:
 官方文档告诉我们,Android系统会尽量保持拥有service的进程运行,只要在该service已经被启动(start)或者客户端连接(bindService)到它。当内存不足时,需要保持,拥有service的进程具有较高的优先级。
        有4点: 
1. 如果service正在调用onCreate,onStartCommand或者onDestory方法,那么用于当前service的进程则变为前台进程以避免被killed。

2. 如果当前service已经被启动(start),拥有它的进程则比那些用户可见的进程优先级低一些,但是比那些不可见的进程更重要,这就意味着service一般不会被killed.
3. 如果客户端已经连接到service (bindService),那么拥有Service的进程则拥有最高的优先级,可以认为service是可见的。

4. 如果service可以使用startForeground(int, Notification)方法来将service设置为前台状态,那么系统就认为是对用户可见的,并不会在内存不足时killed。

如果有其他的应用组件作为Service,Activity等运行在相同的进程中,那么将会增加该进程的重要性。

转载于:https://www.cnblogs.com/wuwa/archive/2013/05/22/6191674.html

http://www.lbrq.cn/news/2594161.html

相关文章:

  • 重庆建一个网站如何做市场推广方案
  • 网站建设台州网络推广怎么做效果好
  • 去年做的电子请帖怎么找原网站站长统计工具
  • 山东省城乡住房建设厅网站百度一下你就知道 官网
  • 网站制作软件是什么服务营销理论
  • 苏州推广有限公司荥阳seo
  • 营销网站的概念搜索引擎营销成功案例
  • 学习做网站需要多久网站设计费用
  • 自己如何做网站优化东莞全网推广
  • 做社区网站软件开发培训机构
  • 在线聊天网站怎么做百度问答怎么赚钱
  • 怎样做咨询网站google官网注册账号入口
  • 手机医疗网站模板qq营销
  • 直播教育网站建设seo网站推广全程实例
  • 1t网站空间主机多少钱百度怎么打广告在首页
  • wordpress有广告插件下载武汉seo首页优化公司
  • 公关公司主要做什么seo综合查询怎么用
  • 聊城做网站价位seo服务优化
  • 深圳顶级做网站公司seo怎么搞
  • 做电脑网站手机能显示肇庆网站建设
  • wordpress带支付功能主题重庆seo扣费
  • 专利减缓在哪个网站上做什么叫软文
  • 网站建设 熊掌号seo优化推广业务员招聘
  • 帝国cms如何做电影网站今日头条热搜榜前十名
  • 专做商品折扣的网站系统推广公司
  • 虚拟主机网站建设过程可以营销的十大产品
  • 公司网站可以自己建立吗谷歌推广代理公司
  • 信誉好的o2o网站建设百度查重工具
  • 丹东网站建设公司信息发布平台推广有哪些
  • 新疆生产建设兵团科技局网站北京百度推广投诉电话
  • 句子表征-文本匹配--representation-based/interactive-based
  • Go语言select
  • 案例介绍|JSON数据格式的转换|pyecharts模块简介
  • 利用AI渲染技术提升元宇宙用户体验的技术难点有哪些?
  • 【智能体cooragent】创建 workflow 时 候选 Agent 和 Tool 获取来源详细分析
  • 洛谷 P3870 [TJOI2009] 开关-普及+/提高