小木箱@Singapore
小木箱@Singapore
**热更新 / 热修复** 不安装新版本的软件直接从网络下载新功能模块对软件进行局部更新 **热更新和插件化的区别** 区别有两点: 1.插件化的内容在原来的App中没有,而热更新在原来 App 做了 改动 2. 插件化在代码中有固定的入口,而热更新则可能改变任何一个位置的代码 **热更新的原理** 1. classsLoder 的 dex 文件替换 2. 直接修改字节码文件 了解热更新就必须了解 loadeClass() 的类加载过程 - 宏观上: loadClass() 是一个带缓存,自上而下的加载过程(即网上说的[双亲委托机制]) - 对于一个具体的 ClassLoader...
LinearLayout 和 RelativeLayout 以及FrameLayout 可以完全放弃掉了,建议选择 ConstrainLayout 和 MotionLayout
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
### 属性委托 有些常见的属性操作,我们可以通过委托方式,让它实现,例如: - lazy 延迟属性: 值只在第一次访问的时候计算 - observable 可观察属性:属性发生改变时通知 - map 集合: 将属性存在一个map集合里面 ### 类委托 可以通过类委托来减少 extend 类委托的时,编译器回优使用自身重新函数,而不是委托对象的函数 ```kotlin interface Base{ fun print() } case BaseImpl(var x: Int):Base{ override...
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
# 大家认为的MVC 和 MVP区别 MVP 是把控制器或者调度器给拆出来了 MVC 是把View给拆出来了 本质目录结构都是一样的,一个调度源,一个显示源,一个数据操作源 # 我认为 1. 大家认为的MVC是错误的,MVC的概念是在Java里面提出来的,在strus2里面有深刻体验,在客户端开发里面,M 与 V和C 分离不够明确,但是MVP Presenter,和 Model View实现了真正意义的隔离,android里面的MVC不是严格意义的MVC,但是MVP确是Java概念所理解的MVC 2. MVC 和 MVP 没有区别,MVP 和 MVC 本质是一样的 3. 但是MVVM确是大家一致认同的,MVVM是一个加了双向绑定的MVP -...
- GPA 3.6 以上 需要将 variantManager API 替换掉  - GPA 3.6 以上 需要将ReflectiveLintRunner的成员API DelegatingClassLoader 替换掉  - 解决方案 用反射的方式获取 DelegatingClassLoader 和 variantManager API    ```kotlin object ReflectionUtils...