Read The Fucking Source Code 引言 Android AppWidget相对偏冷门。 开门见山一张图,复杂问题庖解牛。Android AppWidg...
Read The Fucking Source Code 引言 Android AppWidget相对偏冷门。 开门见山一张图,复杂问题庖解牛。Android AppWidg...
前言 🏀DataBinding只是一种工具,用来解决View和数据之间的绑定。 Data Binding,顾名思义:数据绑定,它可以将布局页面中的组件和应用中的数据进行绑定,...
解决方案 在调试区域的空白处右键->选中Mute Renders即可。
该章站在企业项目角度上如何在MVVM框架上完善并且合理的使用Hilt。 所以如果没了解MVVM的结构建议可以直接忽略这章。大家知道,MVVM里面View和Model之间有关联...
Android依赖注入框架-Hilt详解,官方基于Dagger封装适配Android而开发,史上最详细解析 记得2年前,我发布过一篇关于Android依赖注入框架的文章,Da...
前言 之前接手的一个项目里有些代码看得云里雾里的,找了半天没有找到对象创建的地方,后来才发现原来使用了Hilt进行了依赖注入。Hilt相比Dagger虽然已经比较简洁,但对初...
当EditText获取到焦点,键盘弹出,为保证EditText不被遮挡,activity的布局会做一些调整, 的windowSoftInputMode属性便控制此时activ...
一、动态代理 + Hook 的实现 在之前的文章我们讲过插件化的实现有点类似,插件化一般是替换系统的 mInstrumentation 为自己的 Instrumentatio...
上一篇文章[https://www.jianshu.com/p/8a4c562f33da]介绍了用 Kotlin 代码写布局,但是有个问题,如果我在原来的 xml 里设置了 ...
IdleHandler方式就是利用其特性,只有CPU空闲的时候才会执行相关任务,并且我们可以分批进行任务初始化,可以有效缓解界面的卡顿。 简单用法代码如下: 可以将上述代码添...
Handler简单使用 1.使用静态内部类的方式继承Handler并重写接受的方法handleMessage。之所以使用静态内部类,是因为静态内部类不会持有外部类的引用 2....
本篇内容很简单,纯属记录方便日后记忆。 Handler消息机制细节就不多说了。我们知道,Looper不停的从消息队列中取出Message,然后分发给对应的Handler去处理...
sendMessage 的用法 post的用法 上面两种方法都是常见的(这里未考虑内存泄露,重点只关注Handler的使用),使用这两种方法都能实现UI的更新。 源码分析 h...
1、Activity、Dialog、PopupWindow、Toast 与Window的关系 简单的从创建方式的角度来说一说: Activity。在Activity创建过程中...
NestedScrollView RecycleView 嵌套 滑动冲突场景描述效果演示实现思路问题和优化优化参考文档场景描述使用NestedScrollView 内嵌Rec...
1、定位问题,当没有具体的错误信息时,很有可能是冲突导致的,我们可以在AndroidStudio自带的terminal里输入如下命令查看详细错误信息 如果命令报错,可参考这篇...
ScrollView 和RecyclerView都是滑动组件,因此存在滑动事件冲突问题,解决思路就是在事件分发函数中将其中下层View的滑动事件做拦截处理 布局示例代码如下:...
前言 记录一下关于 Android 中关于混淆配置文件的生效规则、混淆规则的细节、build 产物中和混淆相关的内容及其作用。 混淆配置生效规则 现在的 Android 项目...
SQLite是安卓数据持久化的重要手段. 为了便捷的操作sql, 衍生了很多ORM (Object/Relation Mapping 对象关系映射). Android端比较流...