Channel(通知渠道) 理解 Android Notification 的 Channel(通知渠道),可以把它理解成: Channel 是系统给通知分类管理的一个“通道...
Channel(通知渠道) 理解 Android Notification 的 Channel(通知渠道),可以把它理解成: Channel 是系统给通知分类管理的一个“通道...
OS windows11,打开IDE是黑色的模式 屏幕自动降低了很是讨厌
接口缓存 数据在进程内生效,放在本地或内存中。App application.onCreate里 清除一下。使用时,先判断sp里有没有数据,如果没有再次请求接口确认数据为最新...
by lazy 本质上就一句话:“把初始化延迟到第一次使用时执行,并且只执行一次,然后缓存结果。” 等价理解成:变量 data 不是立即初始化第一次访问 data 时:执行 ...
概念: 方便的地方是:视觉上异步的代码同步化官方的定义是:Kotlin Coroutines 是一种基于挂起(suspension)的并发设计方案,用于以顺序的方式编写异步、...
概念 Java 里的“队列(Queue)”,核心就是 先进先出(FIFO)的一种数据结构接口体系,主要用在:任务排队、线程池、消息缓存、生产者消费者模型等 BlockingQ...
可以认为Executors是ThreadPoolExecutor的"简化工厂" 能通过其提供的api可以快速创建出线程池的模板 newFixedThreadPool(固定线程...
外观设计模式(Facade Pattern)是一种结构型设计模式(Structural Pattern):对外提供一个统一、简单的入口,隐藏内部复杂的子系统,让客户端更容易使...
前置条件 你已经理解了View绘制的主要流程。下面主要讲一个RecyclerView的设计之美 什么是RecyclerView A flexible view for pro...
onCreateViewHolder public abstract VH onCreateViewHolder(@NonNull ViewGroup parent, int...
官方定义 Convert the interface of a class into another interface clients expect. Adapter le...
宽和高的测量规格是哪里来的? 无论是View还是ViewGroup onMeasure方法参数中的测量规格都是其父View的measureSpce和它自身的size计算出来的...
在 Android 自定义 ViewGroup 时,测量子视图的大小是核心工作之一。这四个方法都是 ViewGroup 中用于协助测量子视图的重要工具。下面逐一详细讲解。 1...
核心原因是在Activity的onCreate时候View的绘制流程还没有开始,所以不会出发Thread检测,记着一点,onCreate阶段只是把View树准备好全部放在DecorView里,在onResume时才开始绘制流程才创建ViewRootImpl,没有ViewRootImpl无多谈起绘制流程
Activity的生命周期 和 View的绘制流程 的关联问题 我们都知道Android在子线程中更新UI会报错: Only the original thread that created a view hierarchy can...
android.app.ActivityThread.ApplicationThread#scheduleLaunchActivityandroid.app.Activity...
9年过去了,现在弄懂了吗?这个 entryPoint 是 RuntimeInit中的startClass , 最终会调用到handleChildProcess 后面通过反射 invoke执行了ActivityThread的main方法
Activity启动过程源码分析简书 编程之乐转载请注明原创出处,谢谢! 根据上篇文章- Launcher源码浅析,我们知道点击Launcher某个图标后,会调用Launcher的startActivity...
android.app.ActivityThread#main1、创建MainLooper2、创建出来ActivityThread实例 并调用其 attach方法 3、默认值...
我们点击launcher桌面图标后Activity是如何被启动并显示出来的,下面是流程,我们一步步的讲 Launcher是什么? Launcher 本质上就是一个 App,而...