风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述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新手基本知识巩固】非常多基础知识都是我们日常开发用得到的。不要忽视了。事实上有时候它们起着非常关键的数据,比方ListView就是我们经常使用的
推荐阅读
- android IntentService生命周期问题
- Linux如何使用shred命令(用法示例指南)
- MySQL如何使用存储过程(创建、列出、更改和删除)
- 什么是chroot jail以及如何使用它(详细指南)
- MySQL事件和事件调度程序指南(设置和使用)
- Tumblr到WordPress的迁移(帮助你移动网站的分步指南)
- 如何选择完美的WordPress主题(需要考虑的10件事)
- 如何将bbPress论坛添加到你的WordPress网站(完整指南)
- 如何使用WP-Optimize插件优化你的WordPress数据库()