HashMap: 1、hashMap采用了数组+链表+红黑树来存储数据。2、每一个键值对封装为一个节点Node<K,V>,存在一个数组Node<K,V>[] table,其元...
HashMap: 1、hashMap采用了数组+链表+红黑树来存储数据。2、每一个键值对封装为一个节点Node<K,V>,存在一个数组Node<K,V>[] table,其元...
MessageQueue是一个链表结构,每个message是一个结点,其next指向下一个message。MessageQueue是随着Looper的创建一起被创建的,而Lo...
ActivityThread并不是一个线程,是一个普通Java类。它有一个main函数,由于在Java程序中main函数就是程序的入口函数,因此这里的main函数就是整个ap...
LRU缓存结构,简单总结起来就是本次的读写数据记录会被设为最新,并将其移动到链表的头部,当写操作发现缓存区已达到最大存储阈值,就将处在链表尾部,也即是被认为是最近最少被使用的...
EventBus非常好用,可以说直接把开发中的数据通信方式从飞鸽传书带到了打电话模式。那么,这么神奇的框架它是怎么把事件交到接收者手中的呢。 看一下post方法,它是从Thr...
上一回说到了Ability,翻译过来是能力。我理解为等同于Android中的模块,某些功能的集合。比如用户模块,可以设计为UserAbility,表示所有与用户账户本身业务相...
鸿蒙开发,使用的是deveco studio开发工具,Android开发者真是像见到孪生兄弟一样了,那强烈的熟悉感,放一张图, 可以说,我感觉这是在暗示我转行,太熟悉了呀这。...
1.java中的静态属性和方法对应在kotlin中的实现为:伴生对象,companion object 。也就是将要设为静态的属性和方法写在伴生对象中,即: class Kt...
Android 存储权限具体分两个,write和read,申请了其中一个时,整个存储权限就已被赋予。但是,在判断另一个权限时,系统API仍然会返回该权限未被授予。 例如,在代...
app要成功拉起小程序,请确认是否给微信打开了 在其他应用上层显示 这个权限,否则sendReq()方法会正常返回true,但是微信无响应。
界面劫持即自己的应用使用过程中,被恶意app弹出的劫持页面覆盖掉了自己app的页面,而许多用户并未察觉异样,从而输入了敏感信息导致信息被窃取。罪魁祸首在于Android的一个...
你这是扯淡
监听App可能被强制干掉的两种方案前言 很多时候我们想要在app退出的时候做一些特殊的处理,如果用户的习惯良好,正常使用返回键退出app的话,我们可以简单的在MainActivity的onDestroy()方...
我们在接入第三方SDK的时候,可以再在APP目录下的build.gradle文件中,配置debug时的keystore文件,用我们打包发布时的keystore来调试,这样就简...
获取位置想必我们在许多项目中都会遇到这个需求,那么如何以比较好的方式获取呢? LocationManager是Android API提供 的用来获取设备当前位置的,用他就够了...
最近项目上要做聊天会话列表,需要侧滑菜单来实现删除,静音等操作,由于这一块儿没有太多经验,于是首先想到了Android API提供的itemtouchhelper。这个类,是...