HashMap是线程不安全的,可以考虑ConcurrentHashMap
重新调整HashMap大小存在什么问题当hashMap中的节点数超过阈值的时候,就会自动扩容,扩容的时候就会调整hashMap的大小,一旦调整了hashMap的大小就会导致之前的hashCode计算出来的hash...
HashMap是线程不安全的,可以考虑ConcurrentHashMap
重新调整HashMap大小存在什么问题当hashMap中的节点数超过阈值的时候,就会自动扩容,扩容的时候就会调整hashMap的大小,一旦调整了hashMap的大小就会导致之前的hashCode计算出来的hash...
Android开发艺术探索 第三章VIew事件体系 Android中所有控件的基类是什么?答:View,View本身就可以是单个控件也可以是多个控件组成的一组控件 View位...
技术不止,文章有料,加 JiuXinDev 入群,Android 搬砖路上不孤单 前言 相信很多同学都会有这样的感受,前三天刚刚复习的知识点,今天问的时候怎么就讲不出个所以然...
首先, 如果是创建子线程的Handler, 需要三步:Looper.prepare(); Handler handler = new Handler(); Looper.lo...
onMeasure-》onLayout-》onDraw,先度量我们需要显示的viewGroup的子view,然后再度量自己的大小,同时记录自己的布局顺序,交给onLayout...
一共有3种方法:Message message = Message.obtain(); Message message = handler.obtainMessage(); ...
Handler+Thread、AsyncTask、ThreadPoolExecutor、IntentService
HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算ha...
当hashMap中的节点数超过阈值的时候,就会自动扩容,扩容的时候就会调整hashMap的大小,一旦调整了hashMap的大小就会导致之前的hashCode计算出来的hash...
OkHttp和Retrofit都是目前流行网络开源框架(1)封装不同:Retrofit封装了具体的请求,线程切换以及数据转换。retrofit通过使用代理,外观,策略模式对o...
由于使用了ThreadLocal机制,所以注定了一个线程只能有一个Looper,但Handler可以new无数个。
插件化和热修复区别插件化顾名思义,更多是想把需要实现的模块或功能当做一个独立的提取出来,减少宿主的规模,当需要使用到相应的功能时再去加载相应的模块。热修复则是从修复bug的角...
碰撞:HashMap运用put方法存储多个元素时,计算得出相同的hashCode,在put时出现冲突。 处理:利用“拉链法”处理HashCode的碰撞问题;当我们将键值对传递...
XRecyclerView控件是一个加强版的RecyclerView,可以很方便的实现下拉刷新,上拉加载更多等功能。使用方式和RecyclerView完全一致,不需要额外的l...
Android定时进行消息通知到通知栏 要实现本地定时通知最主要的是要用到系统的闹钟管理器AlarmManager来定时发送一条广播,使用NotificationManage...
前言:tinker官方文档地址 https://github.com/Tencent/tinker/wiki 一、Tinker的集成步骤 1.设置tinker版本,在grad...