
单例的四大原则: 1.构造私有。2.以静态方法或者枚举返回实例。3.确保实例只有一个,尤其是多线程环境。4.确保反序列化时不会重新构建对象。 单例的五种实现 一、饿汉式 优点...
场景一:没有父类,或者不关心父类 静态成员(静态代码块、静态变量,按代码顺序执行)非静态成员(非静态代码块、非静态变量,按代码顺序执行)构造方法 场景二:有父类父类静态成员(...
一、加密算法 对称加密:加密和解密使用同一个密钥 非对称加密:分为私钥和公钥,由私钥加密的数据只能由公钥解密,由公钥加密的数据只能由私钥解密,且先有的私钥,公钥只能由私钥生成...
好久没有写博客了,感觉自己的手变得生疏了,今天来记录一下自己对Android里面的嵌套滚动的理解。 本文参考资料: 1.NestedScrollingParent, ...
好的APP用户界面动画如果通过精准的设计就能极大地提升用户体验。这也常常是区分APP优秀与否的一个重要标准。实现与设计一个有意义且实用的动画是同样困难的,尤其是当动画或者视图...
一、集成 主工程 build.gradle加入 为什么用2.7.0版本? 因为2.8.0及以上需要项目支持androidX且2.7.0已经能满足日常需求,包体积更小(159k...
内存泄露是在程序运行期间,相应对象没有被释放而导致的,并不是程序结束后还没被回收
前言 了解Java中的对象、变量等存放的内存区域十分重要 本文将全面讲解Java虚拟机中的内存模型 & 分区,希望你们会喜欢 Carson带你学JVM系列文章,具体如下:Ca...
我是在深入学习 kotlin 时第一次看到协程,作为传统线程模型的进化版,虽说协程这个概念几十年前就有了,但是协程只是在近年才开始兴起,应用的语言有:go 、goLand、k...
VectorDrawable 与 SVG Android 5.0(Lollipop, API 21)后,新增了<vector>标签,以VectorDrawable的形式支持S...