Android开发的小细节


layout: post
title: Android开发的小细节
categories: blog
date: 2015-06-10
tags: [Android]
category: Android
description: Android开发过程的小笔记,细节,需要注意的地方


Intent隐式启动
Intent隐式启动Activity时必须在<intent-filter>指定

<category android:name="android.intent.category.DEFAULT" />

否则异常ActivityNotFoundException

Service调用过程

如果 Service 组件是执行长时间运行的操作,则一般采用启动模式。通过调用应用组件对象(如 Activity)的 startService 方法将启动一个 Service 对象实例。如果当前指定的Service 实例没有被创建,则会调用 Service 的 onCreate()方法来创建一个实例;否则直接调用 Service 的 onStartCommand()方法来运行 Service。。因此,Service 的 onStartcommand()方法
可能会重复调用多次。所以在 onStartcommand()方法中要注意线程同步的问题。采用启动模式的 Service 一般持续执行一个单一的操作,而且并不会向调用者返回任何结果

如果 Servise 组件提供一种封装的功能供其他组件使用,则一般采用绑定模式。通过调用应用组件对象的 bindService 方法启动 Service 对象实例,如果当前没有指定的 Service 实例被创建,则该方法会调用 Service 的 onCreate()方法来创建一个实例;实例启动后,将调用 onBind()方法。onBind 将返回给客户端一个 IBinder 接口实例,IBinder 允许客户端回调Service 的方法,比如得到 Service 运行的状态或其他操作。只要连接建立, Service 就会一直运行(不管客户是否保留 Service 的 IBinder 的引用)。通常 IBinder 是一个使用 AIDL 写成的复杂接口。

QQ截图20150607192646.png
QQ截图20150607192646.png
  1. START_NOT_STICKY:如果Sevice在启动后,被kill掉,并且没有新启动的Intent传给它,那么将Service移出启动状态并且不重新生成,知道再次显示调用Context.startService。适用场景:网上下载数据。
  2. START_REDELIVER_INTENT:如果Service进程在启动后kill掉,那么它将会被重启,并且最后传给他的Intent通过onStartCommand(Intent ,int,int)会被重新传给他,这种模式保证了传给它Intent一定会被处理完毕,适用场景:关键业务处理。
  3. START_STICKY:如果Service在它启动后被kill掉,那么Android将让Service继续保持started状态,但是不保留启动它的Intent,Android将重新创建Service实例,并执行onStartCommand方法,如果此时没有新的Intent请求,此时Intent的参数是null,这一点要特别注意。适用场景:后台播放音乐。这种运行模式的特点是需要显示启动并停止Service。

广播接收者的相关问题

QQ截图20150608163423.png
QQ截图20150608163423.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,265评论 25 709
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 3,372评论 0 20
  • 原路返回比另寻新路安全啊啊啊啊
    F学姐阅读 215评论 0 1
  • 很多年以前,其实就已经预料到自己在现在这个时候的困境。生命中总有那么些冥冥中注定的东西,很奇妙很玄乎,而且还是必须...
    文字是本命耶阅读 362评论 0 1
  • 昨儿个跟人聊起了那首夕阳之歌,也唤起了一些过去的回忆! 说实在的,相比夕阳之歌千千阙歌以及风中的承诺,我更喜欢日语...
    夕阳褪去时阅读 376评论 0 0

友情链接更多精彩内容