六月的雨的博客
  • 首页
  • 归档
  • 分类
  • 关于

1-Flutter分享

Flutter简介Flutter 是 Google 推出并开源的移动应用开发框架,帮助开发者通过一套代码库高效构建多平台应用,支持 iOS、Android、Web、Windows、macOS、Linux、Fuchsia 优点 跨平台:增加代码复用,降低开发成本 性能:Flutter直接将Dart代码编译为本地代码运行,再调用skia绘图引擎代码,和原生一样,这就少了像reactnative和wee
2025-12-16
其他语言 > flutter

6.AsyncTask

原理 AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,AsyncTask其实使用handler来实现异步任务的,它是一个抽象类,AsyncTask的execute在主线程中首先调用了onPreExecute做预备工作,在子线程中调用了doInBackground方法去做耗时操作,返回的数据通过Message.obtain(handler, ON_POST_MSG, re
2025-12-16
源码

5.ThreadLocal

总结默认成员变量是共享的 ThreadLocal 是一种以空间换时间的做法,在每个 Thread 里面维护了一个 ThreadLocalMap Map 和 Thread 绑定,所以虽然访问的是同一个 ThreadLocal 对象,但是访问的 Map 却不是同一个,所以取得值也不一样。 也不会影响其他线程。在这个线程是独享的,也没有线程安全方面的问题。 用途:通过它可以在指定的线程里存储数据
2025-12-16
源码

4.IdleHandler

源码当 MessageQueue 没有消息的时候,就会阻塞在 next 方法中,其实在阻塞之前,MessageQueue 还会做一件事,就是检查是否存在 IdleHandler,如果有,就会去执行它的 queueIdle 方法。 1234567891011121314151617181920212223242526272829303132333435363738394041 private Id
2025-12-16
源码

2.Handler 里的各种消息

同步屏障和异步消息其实在 Handler 机制中,有三种消息类型: 同步消息。也就是普通的消息。 异步消息。通过 setAsynchronous (true) 设置的消息。 同步屏障消息。通过 postSyncBarrier 方法添加的消息,特点是 target 为空,也就是没有对应的 handler。也是通过屏障的时间,确定屏障消息插入的位置 这三者之间的关系如何呢? 正常情况下,同步消息
2025-12-16
源码

1.Handler消息机制

Handler 被设计出来的原因?有什么用? Handler 的意义就是切换线程 作为 Android 消息机制的主要成员,它管理着所有与界面有关的消息事件,常见的使用场景有: 跨进程之后的界面消息处理。   Binder 线程到主线程比如 Activity 的启动,就是 AMS 在进行进程间通信的时候,通过 Binder 线程将消息发送给 ApplicationThread 的消息处理者 Ha
2025-12-16
源码

9-Android构建流程

Android 构建流程AAPT ( Android 资源打包工具, Android Asset Packaging Tool) 是一种编译工具, 供 Android studio 和 Android Gradle plugin 用于编译和打包应用资源。而 AAPT2是在 AAPT 上做了优化。 Android Gradle Plugin0.0或者更高版本默认开启AAPT2。AAPT2会解析资源、
2025-12-16
源码 > Framework

8-Launcher学习

android12.0(S) Launcher3 导入 AndroidStudio 调试编译验证环境 aosp 12.0 - 掘金 概述launcher其实就是一个app,从功能上说,是对手机上其他app的一个管理和启动,从代码上说比其他app多了一个属性,就是在AndroidManifest.xml文件中多了一个“android:name=”android.intent.categor
2025-12-16
源码 > Framework

7-INPUT

INPUT当用户触摸屏幕或者按键操作,首次触发的是硬件驱动,驱动收到事件后,将该相应事件写入到输入设备文件中(dev/input/)。接着,输入系统取出原生态的事件,经过层层封装后成为 KeyEvent 或者 MotionEvent ;最后,交付给相应的目标窗口 (Window) 来消费该输入事件。 在屏幕接收到触摸信息后,会把这个信息交给 InputServiceManage
2025-12-16
源码

6-系统源码

SurfaceViewSurfaceView 的绘制原理 在 WMS 中会为这个 Window 分配 Surface,并确定显示层级,可见负责显示界面的是画布 Surface,而不是窗口本身,WMS 将他管理的 Surface 交由 SurfaceFlinger 处理,SurfaceFlinger 将这些 Surface 合并后放入到 buffer 中,屏幕会定时从 buffer 中获取显示数据,
2025-12-16
源码 > Framework
1234…12

搜索

Hexo Fluid
总访问量 次 总访客数 人