笔记
文章平均质量分 60
xian_yu_wan
这个作者很懒,什么都没留下…
展开
-
(转载)Handler机制原因,主线程looper.loop()为什么不阻塞主线程
Handler,Message,looper 和 MessageQueue 构成了安卓的消息机制,handler创建后可以通过 sendMessage 将消息加入消息队列,然后 looper不断的将消息从 MessageQueue 中取出来,回调到 Hander 的 handleMessage方法,从而实现线程的通信。从两种情况来说,第一在UI线程创建Handler,此时我们不需要手动开启looper,因为在应用启动时,在ActivityThread的main方法中就创建了一个当前主线程的looper,转载 2021-09-08 21:56:11 · 1068 阅读 · 0 评论 -
Android ThreadLocal之谜
先贴个源码:ThreadLocal.java其实这个类相当的简单,如果你了解HashMap的原理的话,这个类轻松拿下。备战中...原创 2021-09-03 20:41:51 · 100 阅读 · 0 评论 -
(转载)Android性能优化
内容很全收藏下。https://www.jianshu.com/p/797395731747转载 2021-09-02 22:31:57 · 105 阅读 · 0 评论 -
(转载)Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)
目录一、简介二、并发编程的3个基本概念三、锁的互斥和可见性四、Java的内存模型JMM以及共享变量的可见性五、volatile变量的特性六、volatile不适用的场景七、volatile原理八、单例模式的双重锁为什么要加volatile一、简介volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile转载 2021-08-29 21:55:57 · 108 阅读 · 0 评论 -
Android并发之Executor(线程池)家族(二)之AtomicInteger
线程并发,那就牵扯到内存共享的问题,在并发编程中,有三个理念:原子性、可见性、有序性。这里分享一个转载。原创 2021-08-29 21:52:50 · 580 阅读 · 0 评论 -
Android并发之Executor(线程池)家族(一)
线程池在移动端开发过程中,在提高性能、充分利用GPU方面,有着不错的表现。Executor是个比较庞大的家族,Executor的子孙众多。常用的ThreadPoolExecutor、FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadExecutor等。 Executor是只有一个void execute(Runnable command)为实现的方法的接口类,是实现Android并发编程线程池框...原创 2021-08-27 21:47:46 · 1457 阅读 · 0 评论 -
RecyclerView小记
RecyclerView使用和封装过很多次了。但从来没有去认真研究过源码,一是没时间,二是后面的工作原因,不怎么接触到。 今天来简单整理下。RecyclerView可以说是ListView替代品了,就是因为他能做到的,ListView做不到,ListView有的,他都有。简单记ListView和RecyclerView的区别,还是很大的。第一,直接父类的不同,RecyclerView直接继承ViewGroup。1、ListView ex...转载 2021-08-25 22:25:36 · 79 阅读 · 0 评论 -
ArrayList小记之新手必须知道的
这个非线程安全的集合,大家都用来临时的存储数据,都用烂了。没有人不会的,甚至连面试都不会问到了。ArrayList之扩容ArrayList,是维护了一个数组的一个集合类。既然是数组,那就遇到扩容的问题。那他是怎么扩容的呢?Arrays.copyOf(...)........ private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementDat原创 2021-08-24 23:22:30 · 95 阅读 · 0 评论 -
ListView的某个角落-面试官都不知道的东西
ListView,在RecycleView出来之前,使用率100%,有么有?面试中也是经常问的一个问题。大家都知道,ListView只显示屏幕上的Item + 1。不少人也知道RecycleBin的存在,也知道他是缓冲超出屏幕外的item。那,今天先看下RecycleBin到底里面有啥,这个也是AbsListView调度ItemView的逻辑。1、mActiveViews // 没有争议,是活动的View,至于哪里赋值的,你去ListView中layoutChildren方法去找答案。2、原创 2021-08-23 22:48:08 · 97 阅读 · 0 评论 -
Java 泛型中? extends 、? super简单理解
public class Person {} // 超类public class Male extends Person {}public class Female extends Person {}public class Boy extends Male {}public class Gril extends Female {}就这?就这!List<Male> males = new ArrayList<Boy>();List<Boy.原创 2021-08-22 21:56:33 · 350 阅读 · 0 评论 -
Android中,序列化,持久化笔记
Android中,用于序列化的就是Parcelable和Serializeable。Serializeable是Java的,Parcelable是Android特有的。1、Serializeable比较简单的序列化方式,对象直接implement它即可,如果其中的字段不需要序列化,前面加上transient关键,表示短暂持有,不需要持久化。2、Parcelable这个相比Serializeable要复杂点,需要自己写一些东西,集体自己看,但要注意的是,序列化和返序列化的时候,要意义对应。如.原创 2021-08-22 16:16:57 · 93 阅读 · 0 评论