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
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
03-20 10:18
点赞 评论 收藏
转发
1 2 评论
分享
牛客网
牛客企业服务