java客户端基础
1、静态内部类和内部类的区别
1、静态内部类没有对外部类的引用,普通内部类有对外部类的引用
2、静态内部类可以有静态成员,非静态内部类则不能有静态成员
3、静态内部类只能够访问外部类的静态成员,非静态内部类则可以访问外部类的所有成员
2、懒汉线程安全单例模式写法
public class LazySingleton {
private LazySingleton() {}
private static LazySingleton lazy = null;
public synchronized static LazySingleton getInstance() {
if (lazy == null) {
lazy = new LazySingleton();
}
return lazy;
}
}
3、SurfaceView与TextureView的区别
CPU 数据上看,SurfaceView 要比 TextureView 优化 8%-13%
功耗数据上看,SurfaceView 要比 TextureView 平均功耗低 20mA 左右。
SurfaceView是独立的一层View,更像是独立的一个Window,不能加上动画、平移、缩放
TextureView更像是一般的View,像TextView那样能被缩放、平移,也能加上动画。
SurfaceView 绘制会有独立窗口, TextureView 没有独立的窗口,可以像普通的 View 一样,更高效更方便
5、相册项目难点
recyclerview加载大量图片的时候如何保证不出现卡顿和内存抖动现象;
1、加载图片的时候采用多线程异步加载
2、recyclerview滑动的时候暂停加载,停止滑动的时候开始加载
3、当前呈现给用户的加载;当前未呈现的不加载
4、采用复用池策略,把使用过的bitmap回收复用,防止频繁创建bitmap,出现内存抖动
5、采用缓存策略,缓存图片,提高加载的效率,LruCache
1、静态内部类没有对外部类的引用,普通内部类有对外部类的引用
2、静态内部类可以有静态成员,非静态内部类则不能有静态成员
3、静态内部类只能够访问外部类的静态成员,非静态内部类则可以访问外部类的所有成员
2、懒汉线程安全单例模式写法
public class LazySingleton {
private LazySingleton() {}
private static LazySingleton lazy = null;
public synchronized static LazySingleton getInstance() {
if (lazy == null) {
lazy = new LazySingleton();
}
return lazy;
}
}
3、SurfaceView与TextureView的区别
CPU 数据上看,SurfaceView 要比 TextureView 优化 8%-13%
功耗数据上看,SurfaceView 要比 TextureView 平均功耗低 20mA 左右。
SurfaceView是独立的一层View,更像是独立的一个Window,不能加上动画、平移、缩放
TextureView更像是一般的View,像TextView那样能被缩放、平移,也能加上动画。
SurfaceView 绘制会有独立窗口, TextureView 没有独立的窗口,可以像普通的 View 一样,更高效更方便
5、相册项目难点
recyclerview加载大量图片的时候如何保证不出现卡顿和内存抖动现象;
1、加载图片的时候采用多线程异步加载
2、recyclerview滑动的时候暂停加载,停止滑动的时候开始加载
3、当前呈现给用户的加载;当前未呈现的不加载
4、采用复用池策略,把使用过的bitmap回收复用,防止频繁创建bitmap,出现内存抖动
5、采用缓存策略,缓存图片,提高加载的效率,LruCache
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享