原理
文章平均质量分 71
jian11058
信义著于四海,匡扶汉室
展开
-
android IntentService
继承Service,启动肯定也是startService Intent intent=new Intent(this,Task.class); startService(intent);执行后,会调起service,service中的:onStartCommand将会调用;即: @Override public int onStartCommand(@Nullable Intent intent, int flags, int startId) {原创 2022-03-01 23:00:53 · 2644 阅读 · 0 评论 -
android ArrayList 源码详解
ArrayList<String> list=new ArrayList<>(); public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};初始化了elementData,就...原创 2022-02-25 11:26:09 · 774 阅读 · 0 评论 -
android HashMap源码添加数据的全过程解析(四),hashmap.put()总结
接上几节,我们分析了hashmap在put一个数据时,会发生的情况:1、根据key,计算hash,确定下标;2、当第一次put时,如果table为空,则会初始化table数组,长度为16;2、当table内,无数据时,put的数据将直接tab[下标]=newNode();3、当有数据时:3.1、当来源是同一个key时,则会将key设置成最后一次的put的value;3.2、当来源是一个新的时,则遍历节点,知道最后一个为null,这时会把node.nex...原创 2022-02-22 18:38:43 · 788 阅读 · 0 评论 -
android HashMap源码添加数据的全过程解析(三),put的所有情况总结
前面讲了hashmap添加2个数据的过程,现在来说一下添加过程中,特殊的情况,也就是hashmap中,put()方法里面的判断;因为object的hashcode不可能会相等,但是有我们在putVal()方法中即:原创 2022-02-22 14:32:08 · 1125 阅读 · 0 评论 -
android HashMap源码添加数据的全过程解析(二)
接上篇博客:android HashMap添加数据的全过程模拟(一)_简公子的博客-CSDN博客这里我们改下,基本还是不变, String name1="zhang"; String name2="jian"; Log.e(TAG, "initView name1: "+name1.hashCode() ); Log.e(TAG, "initView name2: "+name2.hashCode() ); Ha...原创 2022-02-21 18:26:26 · 414 阅读 · 0 评论 -
android HashMap源码添加数据的全过程解析(一)
String name="zhang"; Log.e(TAG, "initView name: "+name.hashCode() ); new HashMap<>().put(name,"");这里的name,打印的值是:115864556 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); ...原创 2022-02-21 16:28:32 · 874 阅读 · 0 评论