一.深入解析android核心组件和应用框架
1.listView下空列表的显示问题.重写适配器的isEmpty(),或HoneyComb中主要是通过ListFragment的setEmptyText();
2.InputMethodService ,一种输入法在界面上由3部分构成,即软输入视图(Soft InputView)、候选视图(Candidates View)和全屏模式(Fullscreen Mode).
3.IntentService,在gallery3d应用中,CacheService即是IntentService的一个示例.
4.绑定服务的Android组件在销毁前应解除绑定,否则会造成内存泄漏.
5.pendingIntent,
6.(应用框架解析,service框架)基于AIDL的远程服务(在J2EE中,采用RMI的方式, 可以通过序列化传递对象. 在Android中, 则采用AIDL的方式. )
7.(应用框架解析,service框架)基于Messenger的远程服务
8.(应用框架解析,activity管理机制),acitivity栈和Task的定义和区别,以及android:taskAffinity属性
9.对话框框架,按照Android的规则,每个对话框对应一个对话框ID.
二.Android资源框架详解
1.sp和dip有相似的含义,与屏幕上每平方英寸含多少像素无关.
2.特殊标签:viewStub/requestFocus/merge/include
3.android支持XLIFF(XML Localization Interchange File Format)和通配符(在一个字符串标签中android仅支持一个通配符).
4.切换语言的实现:
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
config. locale = Locale.SIMPLIFIED_CHINESE;
resources.updateConfiguration(config, dm);
通过类似的设置,开发者也可以切换屏幕密度、MCC、MNC、屏幕方向等,当然部分设置可能需要高级别的权限。
5.string资源文件中,如果该字符串资源不必本地化,则需要设置其translatable属性为fasle;
6.系统资源在frameworks\base\core\res\res\values\目录下的public.xml中定义.
7.android允许属性支持多种属性格式。
8.MenuInflater在加载XML资源文件时采用的解析器为XmlPullParser.处于性能方面的考虑,目前MenuInflater尚不支持加载未经处理的XML资源文件.
9.如果希望显示菜单的内容,onPrepareOptionsMenu()方法必须返回true,否则返回false.
10.子菜单不支持图标和二级子菜单.
11.PopupMenu.当菜单被销毁时,通过PopupMenu.OnDismissListener可以监听到菜单被销毁的消息.
12.asset,断言中限制文件大小为1MB.同样在res和raw下的资源文件也有这样的限制.在android中,断言的管理是通过AssetManager进行的.
13.在启动其他应用嵌,需要在zygote进程中奖先加载的图片资源定义在arrays.xml中的preloaded_drawables数组中,将颜色资源定义在arrays.xml中的preloaded_color_state_lists数组汇总,状态栏加载的顺序定义在arrays.xml中的status_bar_icon_order数组中.
设计思想解读开源框架
一、热修复设计
二、插件化框架设计
三、组件化框架设计
四、图片加载框架
五、网络访问框架设计
六、RXJava响应式编程框架设计
七、IOC架构设计
八、Android架构组件Jetpack
由于简书限制网盘链接,在我主页扫描我的二维码,我免费分享给你
-
自行下载直达领取链接:【点击我,即可获得!】
-
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
网友评论