自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 parcelable 与Sericalizable 区别

1、作用Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体。从上面的设计上我们就可以看出优劣了。2、效率及选择Parcelable的性能比Serializ

2021-05-22 01:06:31 228

原创 线程池原理

七个核心参数的含义参数 说明 corePoolSize 核心池的大小,这个参数跟后面讲述的线程池的实现原理有非常大的关系。在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,除非调用了prestartAllCoreThreads()或者prestartCoreThread()方法,从这2个方法的名字就可以看出,是预创建线程的意思,即在没有任务到来之前就创建corePoolSize个线程或者一个线程。默认情况下,在创建了线程池后,线程池中的线程数为

2021-05-21 17:06:19 69

原创 java作用域

作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × ×

2021-05-17 14:57:11 78

原创 2021-03-17 flutter 报错总结

Flutter 报错总结1.登录时请求报错DioError [DioErrorType.DEFAULT]: Error on line 1, column 11: Invalid media type: expected /[^()<>@,;:"\\/[\]?={} \t\x00-\x1F\x7F]+/. 登录出错增加 Options option = Options(method: 'post', responseType: ResponseType.plain);...

2021-05-17 13:33:37 804

原创 事件分发流程及滑动冲突处理

activity的分发从activity的dispatchTouchEvent方法进行源码分析: public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction(); } if (getWindow().superDispatchTouchEvent(ev

2021-05-16 02:20:03 209

原创 sychronized和Lock区别

Sychronized Lock 类型 java的一个关键字,也就是说java语言内置的特性,wait 、notify、notifyAll java.util.concurrent.locks包下常用的类,可以使用Condition进行线程之间的调度, 锁的释放 会自动释放锁(1.执行完同步代码块会释放锁,2线程执行过程中发生异常会释放锁,不会出现死锁) 需要在finally中手工释放lock.unlock(),否则容易造成线程死锁,使用时记住try ca...

2021-05-14 14:24:40 115

原创 hashmap1.8优化后的区别 以及和ConcurrentHashMap 的区别

hashmap 时间复杂度 空间复杂度 数组 对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元素的移动,其平均复杂度也为O(n) 线性链表 对于链表的新增,删除等操作(在找到指定操作位置后),仅需处理结点间的引用即可,时间复杂度为O(1),而...

2021-05-13 16:30:53 249

原创 RecyclerView的复用和回收机制

ListView复用及回收AbsListView.RecycleBinRecycleBin维护了两种类型列表一种用于保存屏幕上可见的view,一种用于缓存滚动出屏幕的view滚动时,子view完全滑出屏幕,保存在RecycleBin,子View进入屏幕,从RecycleBin中获取缓存view,进行数据绑定RecyclerView 复用及回收四级缓存机制内部有Recycler内部类onCreateViewHolder() onBindViewHolder()复用机..

2021-05-11 16:19:21 261

原创 单例模式

1.饿汉模式public class SingleTon{ private static Singleton INSTANCE= new Singleton(); private Singleton(){} public static Singleton getInstance(){ return INSTANCE; } }以时间换空间2.静态内部类public class SingleTon{ private Single

2021-04-29 09:22:38 51

转载 Android如何避免OOM总结

前面介绍了一些基础的内存管理机制以及OOM的基础知识,那么在实践操作当中,有哪些指导性的规则可以参考呢?归纳下来,可以从四个方面着手,首先是减小对象的内存占用,其次是内存对象的重复利用,然后是避免对象的内存泄露,最后是内存使用策略优化。1)使用更加轻量的数据结构例如,我们可以考虑使用ArrayMap/SparseArray而不是HashMap等传统数据结构,下图演示了HashMap的简要工...

2019-06-10 18:05:58 288

原创 面试

apply和commit区别 service怎么停止有序广播onreceive是主线程吗hashmap 红黑树插件化组件化数据库存储的数据是什么格式共享参数 里面是不是线程安全 以进程通信 但是谷歌不建议 SP使用上的优化 把复杂数据存放到多个sp文件内 还有里面的容灾是会创建一个新的文件临时保存上一次的数据 加载一个sp文件后会将数据保存到内存中...

2019-06-05 11:27:02 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除