Android 架构演进
Android DataBinding
一、DataBinding
- 观察者模式,底层基于Observable,通过synchronized实现线程安全;
- 可用于MVVM架构,实现ViewModel,抽离数据与UI;
- 不仅仅是MVVM,它可用于任何希望数据与UI抽离解耦的地方,比如:
- RecyelerView的Holder;
- 优化Glide加载图片;
- 虽然解耦,但对xml布局文件有侵入式修改,对布局文件复用有一定的影响,编译器会对相应的标签进行处理成LayoutInflater可识别的形式,所以定义之后代码中也可以不使用;
@{}布局中的表达式除了简单判断、转换之外,不应该做复杂的代码实现;- 官方关系示例图,MVVM中的DataBinding

Android WebView内存泄漏
Android 数据结构
Android 内存优化相关(未完成)
Android JS交互方式
- 1.通过schema方式,使用
shouldOverrideUrlLoading方法对url协议进行解析。这种js的调用方式与ios的一样,使用iframe来调用native代码。 - 2.通过在webview页面里直接注入原生js代码方式,使用addJavascriptInterface方法来实现。
在android里实现如下:
1 | class JSInterface { |
