Android
Suncanghai
这个作者很懒,什么都没留下…
展开
-
Synchronized和ReentrantLock的区别
1.Synchronized是一个关键字,ReentrantLock是一个类2.Synchronized会自动加锁和释放锁,ReentrantLock需要手动加锁和释放锁3.Synchronized底层是JVM层面的锁,ReentrantLock是API层面的锁4.Synchronized是非公平锁,ReentrantLock可以选择公平锁和非公平锁5.Synchronized锁的是对象,锁信息保存在对象头中;ReentrantLock是通过代码中int类型的state标识来标识锁的状态6.Syn原创 2021-08-25 23:22:38 · 145 阅读 · 0 评论 -
ArrayList和LinkedList的区别
1、ArrayList基于动态数组,连续内存存储,适合下标访问(随机访问)。扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后辅助一份,插入新数据),使用尾插法并指定初始容量可极大提高性能、甚至超过LinkedList(需要创建大量的node对象)2、LinkedList基于链表,可以存储在分散的内存中,适合做数据插入及删除操作,不适合查询,查询需要逐一遍历。遍历LinkedList尽量使用iterator而不使原创 2021-08-22 13:47:30 · 91 阅读 · 0 评论 -
List和Set的区别
1、List:有序可重复2、Set:无序不可重复原创 2021-08-22 13:14:53 · 134 阅读 · 0 评论 -
接口和抽象类的区别
1、抽象类可以存在普通成员函数,接口中只能存在public abstract方法。2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。3、抽象类只能继承一个,接口可以实现多个。接口的设计目的,是对类行为的约束,可以强制要求不同的类具有相同的行为。接口约束了行为的有无,但不对如何实现行为进行限制。接口是对行为的抽象。抽象类的设计目的,是代码复用。抽象类有些方法是没有实现的,所以不允许实例化出来。抽象类是对类本质的抽象。接口是规范,抽象类是模板原创 2021-08-22 13:10:52 · 97 阅读 · 0 评论 -
重载和重写的区别
1、重载:发生在同一个 类中,方法名必须相同,参数类型不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。2、重写:发生在父子类中,方法名和参数列表必须相同,返回值范围子类小于等于父类,抛出的异常范围子类小于等于父类,访问修饰符范围子类大于等于父类;父类方法的访问修饰符为private则子类不能重写父类中的该方法。...原创 2021-08-22 12:59:23 · 144 阅读 · 0 评论 -
String、StringBuffer和StringBuilder的区别
1、String是final修饰的,不可变,每次操作都会产生一个新的String对象。StringBuffer和StringBuilder都是在原对象上操作。2、StringBuffer是线程安全的,是因为StringBuffer的方法都是Syncgornized修饰的;StringBuilder是线程不安全的。3、性能:StringBuilder>StringBuffer>String4.使用场景:字符串不经常改变使用String;经常改变字符串内容,优先使用StringBuilder,原创 2021-08-22 12:52:28 · 99 阅读 · 0 评论 -
Android图片压缩(二次采样)
图片压缩Android App开发过程中,系统规定图片大小不能超过16M,因此加载大图或者多张图片的时候,有可能会出现内存溢出的问题,图片二次采样就是为了避免图片加载时出现OOM异常。第一次采样第一次采样获取图片的压缩比例。先加载图片边界到内存中,根据图片的宽高以及空间的宽高计算出缩放比例。第二次采样将第一次采样获取到的缩放比例传给BitmapFactory,这样在加载图片的时候系统不会...原创 2019-05-04 20:34:34 · 384 阅读 · 0 评论 -
Android内存泄漏
内存泄漏程序在向系统申请分配内存空间后(new),使用完毕之后没有释放,导致一直占据该内存单元。直到程序结束,我们和程序都无法再使用该内存单元,就是所谓的内存泄露。(其实就是内存空间使用完之后没有回收)内存泄漏是导致程序OOM的主要原因之一。Android系统为每个程序分配的内存有限,如果一个应用产生的内存泄漏较多,就会导致应用所需的内存超过系统分配的内存限额,就造成了内存溢出导致应用Crash...原创 2019-05-13 23:09:15 · 123 阅读 · 0 评论 -
Android性能优化
1.内存泄漏参考 https://blog.csdn.net/Suncanghai/article/details/894832322.内存抖动原创 2019-05-21 10:10:53 · 106 阅读 · 0 评论