Android面试题-开源框架

1、第三方框架的熟练程度 

1.1、若用过Volley网络框架,则询问其架构,如何使用,自带网络缓存判断过程,与Okhttp、retrofit、RxJava 等网络框架的区别,原理

1.2、若用过Glide图片框架,则询问其架构,如何使用与毕加索、retrofit等框架区别

1.3、若用过ORM框架,则询问目前常见几种框架区别、优缺点,如何改进

2、开发中都使用过哪些框架、平台

RxJava

OkHttp

EventBus(事件处理)

xUtils(网络、图片、ORM)

JPush(推送平台)

友盟(统计平台)

有米(优米)(广告平台)

百度地图

bmob(服务器平台、短信验证、邮箱验证、第三方支付)

阿里云 OSS(云存储)

ShareSDK(分享平台、第三方登录)

Gson(解析 json 数据框架)

imageLoader (图片处理框架)

zxing (二维码扫描)

anroid-asyn-http(网络通讯)

DiskLruCache(硬盘缓存框架)

Viatimo(多媒体播放框架)

universal-image-loader(图片缓存框架)

讯飞语音(语音识别)

3、说说 LruCache 底层原理

LruCache 使用一个 LinkedHashMap 简单的实现内存的缓存,没有软引用,都是强引用。

如果添加的数据大于设置的最大值,就删除最先缓存的数据来调整内存。maxSize 是通过构造方法初始化的值,他表示这个缓存能缓存的最大值是多少。

size 在添加和移除缓存都被更新值, 他通过 safeSizeOf 这个方法更新值。 safeSizeOf 默认返回 1,但一般我们会根据 maxSize 重写这个方法,比如认为 maxSize 代表是 KB 的话,那么就以 KB 为单位返回该项所占的内存大小。

除异常外,首先会判断 size 是否超过 maxSize,如果超过了就取出最先插入的缓存,如果不为空就删掉,并把 size 减去该项所占的大小。这个操作将一直循环下去,直到 size 比 maxSize 小或者缓存为空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸福在路上wellbeing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值