码迷,mamicode.com
首页 > 移动开发 > 详细

android常用框架!带你一步一步深入Handler源码,快来收藏!

时间:2021-03-17 15:02:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:复用   blank   市场   速度   细节   点击事件   前端   使用   初始   

Android没凉,只是比以前难混了

多年前Android异军突起,成了新的万亿级市场,无数掘金人涌入,期待可以一展拳脚。

那时候大环境下的手游圈,只要你能有个可以运行的连连看就能找到工作,走上赛道被浪潮推着前进,这个行业不可谓不光明。

如今浪潮速度放缓,漫天飞舞着唱衰Android的讯息,“凉凉”是最多的字眼。

但放心,Android真的没凉!

Android入门相对简单,初级Android很多很多,趋近饱和,你随意打开一个招聘app就能很直观的判断出来,现在Android准入的条件越来越高了。

技术图片

1.ListView 中图片错位的问题是如何产生的?
2.混合开发有了解吗?
3.知道哪些混合开发的方式?说出它们的优缺点和各自使用场景?(解答:比如:RN,weex,4.H5,小程序,WPA等。做Android的了解一些前端js等还是很有好处的);
5.屏幕适配的处理技巧都有哪些?
6.服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达?
7.动态布局的理解
8.怎么去除重复代码?
9.画出 Android 的大体架构图
10Recycleview和ListView的区别
11.ListView图片加载错乱的原理和解决方案

ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View)。ListView通过adapter的getView函数获得每行的item。

滑动过程中

1)如果某行item已经滑出屏幕,若该item不在缓存内,则put进缓存,否则更新缓存;
2)获取滑入屏幕的行item之前会先判断缓存中是否有可用的item,如果有,做为convertView参数传递给adapter的getView。

出现的问题:

1)行item图片显示重复,当前行item显示了之前某行item的图片。
比如ListView滑动到第2行会异步加载某个图片,但是加载很慢,加载过程中listView已经滑动到了第14行,且滑动过程中该图片加载结束,第2行已不在屏幕内,根据上面介绍的缓存原理,第2行的view可能被第14行复用,这样我们看到的就是第14行显示了本该属于第2行的图片,造成显示重复。

2)行item图片显示闪烁
如果第14行图片又很快加载结束,所以我们看到第14行先显示了第2行的图片,立马又显示了自己的图片进行覆盖造成闪烁错乱。

解决方法
通过上面的分析我们知道了出现错乱的原因是异步加载及对象被复用造成的,如果每次getView能给对象一个标识,在异步加载完成时比较标识与当前行item的标识是否一致,一致则显示,否则不做处理即可。

12.动态权限适配方案,权限组的概念
13.Android系统为什么会设计ContentProvider?
14.下拉状态栏是不是影响activity的生命周期
15.如果在onStop的时候做了网络请求,onResume的时候怎么恢复?
16.Bitmap 使用时候注意什么?
17.Bitmap的recycler()
18.Android中开启摄像头的主要步骤
19.ViewPager使用细节,如何设置成每次只初始化当前的Fragment,其他的不初始化?
20.点击事件被拦截,但是想传到下面的View,如何操作?
21.微信主页面的实现方式
22.微信上消息小红点的原理
23.CAS介绍

由于篇幅原因,这份面试宝典已经被整理成了PDF文档,有需要Android面试宝典全套完整文档的麻烦点赞+点击这里即可获取资料免费领取方式!

技术图片

本文在开源项目:腾讯文档中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

android常用框架!带你一步一步深入Handler源码,快来收藏!

标签:复用   blank   市场   速度   细节   点击事件   前端   使用   初始   

原文地址:https://www.cnblogs.com/mzl888/p/14546725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!