小木箱@Singapore
小木箱@Singapore
HashTable 同步 ,不支持null 键 和 值,由于同步导致性能开销,所以不推荐使用 HashMap 线程不安全,基于hash表实现.使用HashMap要添加键值明确定义了 hashCode() 和 equal()可以重写 hashCode() 和 equals() ,为了优化HashMap 空间的使用,您可以调优初始容量和负载因子.其中散列表的冲突处理主要有两种,一是开放定址法,另一种是链表法,HashMap的实现采用的是链表法
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
相同的错误发生在我这边~ ```java ERROR: couldn't run compilation command `[u'./gradlew', '--debug', u'-Pis_dev=true', u'-Pis_stage=true', u':app:assembleDebug', u'-PinstantfixEnable=true', u'--stacktrace', u'--full-stacktrace', u'--gradle-user-home', u'/Users/xxxx/Documents/test/android/build/build/.gradle/com.xxxx.xxxx.client']` Internal Error: /usr/local/Cellar/infer/0.17.0/lib/infer/infer/bin/../lib/python/infer.py -j 8 --pmd-xml --project-root /Users/xxxx/Documents/test/android/build/build --out /Users/xxxx/Documents/test/android/build/build/infer-out -- ./gradlew -Pis_dev=true...
因为应用启动的时候会加载大量的类,并且每一个类会进行类校验和优化,整个过程是相当耗时的,因此启动过程中容易白屏
组合设计模式,具体思想还是要结合源码理解
### 区别 - Binder是一个对象,继承`IBinder`接口,你可以用它来制定`RPC`协议,`AIDL`是`android`提供的接口定义语言,可以用它来灵活定义接口 - 一个应用使用远程调用使用`Binder `即可,没必要使用`AIDL`,如果涉及多个应用的远程通信,则使用`AIDL`
##### RecyclerView 是什么?   **RecyclerView**是Android5.0推出,Google工程师在support-v7包中引入的一个全新列表控件,用于显示庞大数据集容器,可通过保持有限数量的视图进行非常有效的滚动操作,它不关心item是否显示在正确的位置以及如何显示,通过LayoutManager控制布局是横向还是纵向,它不关心 item 如何 分隔,通过 **ItemDecoration** 来绘制分割线,它不关心 item 增加或删除的动画效果,你可以通过 **ItemAnimation** 绘制你想要的动画效果,**RecyclerView**仅仅关注如何回收和复用view,如果有数据集合,其中元素将因用户操作或网络事件而发生改变,建议使用**RecyclerView** ##### RecyclerView使用 **一.添加依赖**   使用RecyclerView需要在 app/build.gradle添加 相关依赖,然后同步一下就可以使用依赖了: ```groovy implementation 'com.android.support:recyclerview-v7:25.3.1' ``` **二.编写代码**   创建布局文件 ```xml ```   创建完成后在Activity获取RecycleView对象,并声明 LayoutManager 与...
### RecyclerView性能优化策阅 > 本内容参考 [今日头条 Blankj 阿里巴巴面经](https://github.com/Blankj/AndroidOfferKiller/blob/master/android/RecyclerView%20%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md) 1. #### 数据优化 - 服务端获取数据分页数据的时候进行缓存,提升二次加载的速度 - 对于新增或删除的数据 使用 DiffUtis 来进行局部刷新,而不是全局刷新 - 尽量多使用notifyInsertChangeSet() 而不是 notifyChangeSet() 2. #### 布局优化 - 减少过渡绘制 - 避免使用ConstrainLayout ,可以使用ReativeLayout 减少嵌套层级,用Layout...
### RecyclerView缓存机制 暂时没搞明白,欢迎一块儿探讨~
> RecyclerView vs ListView > ListView相比RecyclerView,有一些优点: > > 1.addHeaderView(), addFooterView()添加头视图和尾视图。 > 2.通过”android:divider”设置自定义分割线。 > 3.setOnItemClickListener()和setOnItemLongClickListener()设置点击事件和长按事件。 > > 这些功能在RecyclerView中都没有直接的接口,要自己实现(虽然实现起来很简单),因此如果只是实现简单的显示功能,ListView无疑更简单。 > > RecyclerView相比ListView,有一些明显的优点: > > 1.默认已经实现了View的复用,不需要类似if(convertView == null)的实现,而且回收机制更加完善。 > 2.默认支持局部刷新。 > 3.容易实现添加item、删除item的动画效果。 >...