- 博客(8)
- 资源 (5)
- 收藏
- 关注
原创 Android View的工作流程
View的工作流程本文主要介绍View的工作流程,也就是measure、layout、draw这三大流程,以及MeasureSpec,掌握这些知识就可以轻松的自定义View以及自定义ViewGroup。measureAndroid的视图树中,根View肯定是一个ViewGroup(DecorView就是根View,实际上是一个FrameLayout),所以了解测量过程,应该从ViewGroup开始,沿着视图树去看,这样更容易理解。ViewGroup继承自View,View的的measure方法中会调用
2021-08-01 23:08:23
197
原创 Android必读的四大组件汇总
Service有两种启动方式:startService和bindService[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S4JmL3HD-1627400526372)(https://developer.android.com/images/service_lifecycle.png)]startService通过 startService 启动后,service 会一直无限期运行下去,只有外部调用了 stopService()或 stopSelf()方法时,该
2021-07-27 23:42:12
378
2
原创 一文读懂kotlin协程常用知识点
先不讲概念,先上代码,看一下协程怎么用的。retrofit 请求代码interface HttpInterface { @GET("/photos/random") suspend fun getImageRandom(@Query("count") count: Number): ArrayList<ImageBean>}activity 中调用代码override fun onCreate(savedInstanceState: Bundle?) { li
2021-07-26 10:25:37
547
原创 Android事件分发及应用
事件分发事件分发是Android View体系里非常重要的知识点,目录事件分发onInterceptTouchEventonTouchEventdispatchTouchEventrequestDisallowInterceptTouchEvent滑动冲突自定义View时触摸事件处理手势事件监听简单理解熟悉事件分发之后可以自定义出各种交互复杂的View,也可以解决开源库中的各种滑动冲突bug。下边开始具体的实验和分析。创建了2个自定义的ViewGroup:
2021-07-24 01:03:12
221
2
原创 React 前端 Nginx 缓存配置
React 前端 Nginx 缓存配置最新开发钉钉微应用,上线后发现 2 个问题:1.每次更新后,需要用户手动刷新获取最新的 HTML 和最新的 js,经常被客户吐槽为什么 bug 还没改,其实早已经改了,客户手机上跑的还是旧版。2.不设置缓存策略的情况下,无论本地是否有缓存,华为手机上竟然是每次重新请求 js、css,每次打开很慢,体验极差。为了解决这个问题,将 HTML 文件的缓存策略设置为协商缓存,也就是每次都会询问服务器本地是否最新,如果最新,服务器返回 304 而不传输文件,本地加载缓存文
2021-04-22 19:22:57
952
原创 Android 消息机制
Android 消息机制Android 消息机制也就是 Handler 的运行机制,Handler 运行时需要底层的 Looper 和 MessageQueue 的支持,Handler 作为上层的接口,所以我们开发时大部分情况只需要与 Handler 交互就可以了,并未过多涉及到 Looper 和 MessageQueue。下面将从使用的角度结合源码分析 Handler 的运行机制。平常我们主要使用 Handler 进行线程通信,比如:子线程向主线程发送消息,子线程之间发送消息,如下代码完成了 2 个子
2021-04-22 19:18:23
129
原创 Activity 的 launchMode 与 Intent 的 flags
Activity 的 launchMode 与 Intent 的 flagstask也就是任务(栈),是一系列 Activity 的集合,每打开一个 Activity 都会将其放入到对应的任务栈中。按返回键时栈中的 Activity 会依次出栈,从而达到了逐级返回上一个界面的效果。当我们按下手机上的多任务键(菜单键)时,系统的多任务界面就会展示最近 task,注意:这里展示的并不是应用,而是 task,如果一个应用当前有 2 个 task,就会在这个界面有 2 个同名截屏页,如下图所示:
2021-04-19 22:03:38
178
原创 Android ThreadLocal特性以及源码解读
Android ThreadLocal特性以及源码解读首先讲一下特性:ThreadLocal 以线程为作用域存取数据,不同线程有不同的数据副本,各个线程副本之间读取互不干扰。举个例子:ThreadLocal<String> testThreadLocal = new ThreadLocal<>();testThreadLocal.set("123");Log.i("zx", "主线程中testThreadLocal值为" + testThreadLocal.get());
2021-04-15 09:52:56
218
android游戏引擎AndEngine的jar包
2013-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人