1.Message
message中除了obj可以携带任意对象外,还可以简单使用arg1、arg2携带整型数据
2.MessageQueue
Handler需要处理的所有消息,都会存储再messageQueue中,并且每个线程只有一个messageQueue
3.Looper
将MessageQueue中的消息传递给Handler进行处理
4.Android_support_v4和android_support_v7区别
google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等,下面,简单说明下这几个版本间的区别:
Android Support v4: 这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。
Android Support v7: 这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。
Android Support v13 :这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。
5.androidx替代了android.support
android.support的作用是为了在低版本的机型上可以使用高版本api的特性也就是可以在低版本上可以使用新特性
android支持库最新支持Android9.0(API28),更高的Android版本开发需要使用AndroidX作为支持库
6.在android8.0以上,就不再像之前可以使用静态注册广播的普通调用格式,改变为需要准确的确定广播接收者的包名和类名;
解释:Beginning with Android 8.0 (API level 26), the system imposes additional restrictions on manifest-declared receivers. If your app targets API level 26 or higher, you cannot use the manifest to declare a receiver for most implicit broadcasts (broadcasts that do not target your app specifically).
8.0以上新的发送广播形式:
Intent intent=new Intent("com.gk.gkgk");
intent.setComponent(new ComponentName("包名","包名.showMessage"));
sendBroadcast(intent);
7.