您的位置:首页 > 运维架构 > 网站架构

Android 架构随想之配置文件

2016-09-29 11:11 381 查看
       开发过程中不禁对于android的架构设计会有一点点想法,但是总是纳闷匆匆一想,思考的广度深度都十分有限,所以,纪录一下,看能不能梳理出人家的思路,一家之言,难免才疏学浅,望大家指正。

       先聊聊他的配置文件,主要是视图相关的配置,在res目录下。

       1、解耦:视图作为配置文件独立处理,和代码完全解耦,可以独立应对复杂的界面布局。

       2、解析:xml书写的布局文件最终还是要转化成代码来运行,怎么转化呢,在layoutinflate中,我们发现,是通过反射来做的。是啊,一个纯文本的东西要new出一个对象,不                        通过反射,你还想怎样,貌似也可以通过编号来解决,一个类型的view一个编号,找到编号就new对应的activity,编号如果由使用的人指定,难免使用起来麻烦,如                        果在内部指定,内部需要维护一个已知view类型标签的列表,这无疑对扩展性有些要求。所以,通过直接反射是最好的,但是反射效率不高,系统内部不是做了优化
                       么,我看有了缓存的处理。另外,关于各种各样的view有不同的属性,android采用了使用数据结构直接保存属性,构造的时候,一次传入,由各界面自己来解析。

       3、扩展性:对于新添加的view,或者属性,怎么办呢,原来layoutinflate是唯一的,只能通过congtxt的getService来获取,里面提供了注入接口,可以外部注入。android后续                            版本都是通过这样的方式兼容,比如appcompat-v7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: