guosen lin
guosen lin
可以用c++ 加载 效率会有所提高 参照: giflib
最开始的是DNS,当我们发起一个网络请求,首先要经过DNS服务,将域名转化为IP地址,然后通过IP地址建立连接,DNS解析过慢??所以这可以是一个切入点; 其次Gzip HTTP协议上的Gzip编码是一种用来改进WEB应用程序性能的技术,用来减少传输数据量大小,减少传输数据量大小有两个明显的好处; 然后涉及到图片上传(避免整文件传输,采用分片传输; 根据网络类型以及传输过程中的变化动态的修改分片大小; 每个分片失败重传的机会)和下载(使用WebP格式,使用缩略图)
热修复 一词最早应该是 安卓App热补丁动态修复技术=》有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装??QQ空间Android团队提出了一个方案:把有问题的类打包到一个dex(patch.dex)中去,然后把这个dex插入到Elements的最前面,该方案基于第二个拆分dex的方案,方案实现如果懂拆分dex的原理的话,大家应该很快就会实现该方案,如果没有拆分dex的项目的话,可以参考一下谷歌的multidex方案实现。然后在插入数组的时候,把补丁包插入到最前面去。 热修复比较重要的一个点也就是classLoader 我们知道Android系统也是仿照java搞了一个虚拟机,不过它不叫JVM,它叫Dalvik/ART VM他们还是有很大区别的(这是不是我们的重点)。我们只需要知道,Dalvik/ART VM 虚拟机加载类和资源也是要用到ClassLoader,不过Jvm通过ClassLoader加载的class字节码,而Dalvik/ART VM通过ClassLoader加载则是dex。
### static 1. **static 方法** **`static`** 方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有 `this` 的,因为它不依附于任何对象,既然都没有对象,就谈不上 `this` 了。 ```Java public class StaticTest { public static void a(){ } public static void main(String[]args){ StaticTest.a(); } } ``` 2....

onLayoutChildren 布局
楼上说的差不多了就五种 网络存储呢:就比如说我们调用WebService返回的数据或是解析HTTP协议实现网络数据交互。 具体需要熟悉java.net.*,Android.net.*这两个包的内容,在这就不赘述了,请大家参阅相关文档。 楼下继续下一种解释。
LRU 顾名思义就是最近最少使用,才用链表实现
多亏使用了JVM,我们可以使用任何语言去编写 Android应用,只要它能够编译成JVM能够认识的字节码就可以了。 正如你所想,有很多选择,比如Groovy,Scala,Clojure,当然还有Kotlin。通过实 践,只有其中一些能够被考虑来作为替代品。 上述的每一种语言都有它的利弊,如果你还没有真正确定你该使用那种语言,我建 议你可以去尝试一下它们。 10 什么是Kotlin? 什么是Kotlin? Kotlin,如前面所说,它是JetBrains开发的基于JVM的语言。JetBrains因为创造了 一个强大的Java开发IDE被大家所熟知。Android Studio,官方的Android IDE,就 是基于Intellij,作为一个该平台的插件。 Kotlin是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE。对于 Android开发者,有两个有趣的特点: 对Java开发者来说,Kotlin是非常直觉化的,并且非常容易学习。语言的大部 分内容都是与我们知道的非常相似,不同的地方,它的基础概念也能迅速地掌 握它。 它与我们日常生活使用的IDE无需配置就能完全整合。Android Studio能够非常 完美地理解、编译运行Kotlin代码。而且对这门语言的支持来正是自于开发了 这个IDE的公司本身,所以我们Android开发者是一等公民。 但是这仅仅是开发语言和开发工具之间的整合。相比Java 7的优势到底是什么呢? 它更加易表现:这是它最重要的优点之一。你可以编写少得多的代码。 它更加安全:Kotlin是空安全的,也就是说在我们编译时期就处理了各种null的 情况,避免了执行时异常。如果一个对象可以是null,则我们需要明确地指定 它,然后在使用它之前检查它是否是null。你可以节约很多调试空指针异常的 时间,解决掉null引发的bug。...
专注 -🍅工作法