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

风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固相关的知识,希望能为你提供帮助。
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; [email  protected] 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} [email  protected] 23protected void onDestroy(){ 24 unregisterReceiver(sdcardStateReceiver); 25} 26class SdcardStateChanageReceiverextends BroadcastReceiver{ 27 28 @Override 29 public void onReceive(Context context, Intent intent) 30 { 31String state=android.os.Environment.getExternalStorageState(); 32System.out.println("SDCard 发生改变! 状态:"+state); 33//checkSDCard(); 34 } 35 public void checkSDCard(){ 36String state=android.os.Environment.getExternalStorageState(); 37System.out.println(state); 38if(state.equals(android.os.Environment.MEDIA_REMOVED ) || state .equals(android.os.Environment.MEDIA_UNMOUNTED)){ 39System.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.  空进程。这种进程不包括不论什么活动的程序部件。系统可能随时关闭这类进程。
演示样例图:
Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固

文章图片


【Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固】非常多基础知识都是我们日常开发用得到的。不要忽视了。事实上有时候它们起着非常关键的数据,比方ListView就是我们经常使用的















    推荐阅读