1.常驻型广播

 常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到。

 他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊。

通常说这样的方式是静态注冊

 以下是配置样例

2<receiver android:name=".widget.DeskWidgeWeather">
3<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_weather_provider" />
4<intent-filter>
5 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
6 <action android:name="action_weather"/>
7</intent-filter>
8lt;/receiver>

2.很驻型广播

  当应用程序结束了,广播自然就没有了,比方你在activity中的onCreate或者onResume中注冊广播接收器

  在onDestory中卸载广播接收器。这样你的广播接收器就一个很驻型的了。

这样的也叫动态注冊。

  比方写一个监听SDcard状态的广播接收器

9SdcardStateChanageReceiver sdcardStateReceiver;
10@Override
11protected void onCreate(Bundle savedInstanceState)
12{
13 super.onCreate(savedInstanceState);
14 IntentFilter filter = new IntentFilter();
15 filter.addAction(Intent.ACTION_MEDIA_REMOVED);
16 filter.addAction(Intent.ACTION_MEDIA_EJECT);
17 filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
18 filter.addDataScheme("file");
19 sdcardStateReceiver = new SdcardStateChanageReceiver();
20 registerReceiver(sdcardStateReceiver,filter);
21}
22@Override
23protected void onDestroy(){
24 unregisterReceiver(sdcardStateReceiver);
25}
26class SdcardStateChanageReceiver extends BroadcastReceiver{
27
28 @Override
29 public void onReceive(Context context, Intent intent)
30 {
31 String state=android.os.Environment.getExternalStorageState();
32 System.out.println("SDCard 发生改变! 状态:"+state);
33 //checkSDCard();
34 }
35 public void checkSDCard(){
36 String state=android.os.Environment.getExternalStorageState();
37 System.out.println(state);
38 if(state.equals(android.os.Environment.MEDIA_REMOVED ) || state .equals(android.os.Environment.MEDIA_UNMOUNTED)){
39 System.out.println("SDCard 已卸载!");
40 }
41 }
42}

ListView优化方法之中的一个

写一个ViewHolder 内部类把须要反复用到的View放进去。ViewHolder Tag把标记这些View

content provider怎样发送信息

用一个Intent意图的PutExtra()方法把消息加进去。注冊一个BroadCastRecriver接收消息,更新Activity中的信息

安卓生命周期分哪几种

1. 前台进程。这种进程拥有一个在屏幕上显示并和用户交互的 activity 或者它的一个IntentReciver 正在执行。这种程序重要性最高。仅仅有在系统内存很低,万不得已时才会被结束。

2. 可见进程。

在屏幕上显示,可是不在前台的程序。比方一个前台进程以对话框的形式显示在该进程前面。

这种进程也非常重要,它们仅仅有在系统没有足够内存执行全部前台进程时,才会被结束。

  3. 服务进程。这种进程在后台持续执行,比方后台音乐播放、后台数据上传下载等。

这种进程对用户来说一般非常实用。所以仅仅有当系统没有足够内存来维持全部的前台和可见进程时。才会被结束。

4. 后台进程。这种程序拥有一个用户不可见的 activity。

这种程序在系统内存不足时。依照 LRU的顺序被结束。

5. 空进程。这种进程不包括不论什么活动的程序部件。系统可能随时关闭这类进程。

演示样例图:

非常多基础知识都是我们日常开发用得到的。不要忽视了。事实上有时候它们起着非常关键的数据,比方ListView就是我们经常使用的

Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固的更多相关文章

  1. android:分享 一个很强大的LOG开关---Log.isLoggable

    标签:android分享 一个很强大的log开 1.API亮点: 此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率. 2.API介绍 最近在解决短信问题时,看到 ...

  2. 【Android】Android 4.0 无法接收开机广播的问题

    [Android]Android 4.0 无法接收开机广播的问题   前面的文章 Android 开机广播的使用 中 已经提到Android的开机启动,但是在Android 4.0 有时可以接收到开机 ...

  3. Android 常驻广播和非常驻广播

    一.知识准备 ①常驻广播接受者:使用AndroidManifest.xml注册,接受者不随Activity的销毁而销毁,也就是拥有独立的生命周期. ②非常驻广播接受者:使用registerReceiv ...

  4. Android 进程常驻(5)----开机广播的简单守护以及总结

    这是一个轻量级的库,配置几行代码.就能够实如今android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下.clean master获取root权限下都无法杀死进程 支持系统2.3到 ...

  5. Android 两种注册、发送广播的区别

    前言:前面文章记录了Service的使用,这次来记录另一个四个组件之一的BroadcastReceiver.主要介绍两种发送和注册广播的区别. BroadcastReceiver广播接收者用于接收系统 ...

  6. Android学习笔记(十三)——广播机制

     //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Android 中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容 ...

  7. Android基础总结(4)——广播接收器

    在Android中的每个应用程序可以对自己感兴趣的广播进行注册,这样该程序就只会接收自己所关心的广播内容,这些广播可能来自于系统的,也可能来自于其他应用程序的.Android提供了一整套完整的API, ...

  8. android 界面布局 很好的一篇总结[转]

    1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为:android:orienta ...

  9. Android学习笔记--Broadcast, BroadcastReceiver(广播)

    参考资料:http://www.cnblogs.com/playing/archive/2011/03/23/1992030.html 在 Android 中使用 Activity, Service, ...

随机推荐

  1. java 图形化界面笔记(1)

    目录 JFrame窗体......................................................................................... ...

  2. 原来Java大数据才是真正的高富帅!

    大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇. 国内大多数大型互联网公司的程序员被称作研发工程师,但实际上国内几乎没有研发项目,只能叫做开发.开发程序员的 ...

  3. node_module删除

    https://segmentfault.com/q/1010000002972327 npm install rimraf -g rimraf node_modules

  4. Git的优点

    没有网络时也可以使用版本控制系统,这点svn做不到,如果你一直有网络,这个可以忽略: git由于所有版本都在本地的.git目录数据库中,因此它可以用指针随时改变指向,指向不同的版本,把它作为最新的he ...

  5. WebSocket贪吃蛇例子学习

    在Tomcat7.0.64下的examples文件夹内,有多人贪吃蛇的例子. Multiplayer snake 这是一个多人在线小游戏,客户端通过操作上下左右键指挥自己的蛇,如果碰到别的蛇就死掉.还 ...

  6. 开启和关闭mysql服务

    @echo offfor /f "skip=3 tokens=4" %%i in ('sc query MySQLa') do set "zt=%%i" &am ...

  7. WCF信道绑定代码

    监听端创建信道Listener,代码 using System; using System.Collections.Generic; using System.Linq; using System.T ...

  8. [字符串] StartWith和EndWith效率比较低

    之前无意中看到有人提到StartWith和EndWith效率比较低,今天恰好有用到这样的场景,于是写了个测试验证一下. 该示例仅在比较字符串首尾单个字符,用途有限. var str = "\ ...

  9. 【IDEA】使用intellij的idea集成开发工具中的git插件

    注意:这里并没有介绍git客户端的安装,如果要安装客户端,大家可以参考如下的链接: http://www.runoob.com/git/git-install-setup.html 1.在使用这个id ...

  10. wav格式

    转自: http://www.cnblogs.com/tiandsp/archive/2012/10/17/2728585.html 起始地址 占用空间 本地址数字的含义 00H 4byte RIFF ...