- 博客(10)
- 收藏
- 关注
原创 关于Compose Android UI的一些事
文章目录关于Compose Android UI的一些事Compose的结构Compiler对代码做的事Runtime层做的事Compose Android UICompose UI的组成以及measure,layout,draw过程Compose UI 自定义控件的方法Compose UI开发的注意事项Compose UI Animation关于Compose Android UI的一些事Compose的结构Compose的通用结构如图所示,由代码、编译器插件、runtime库、以及各平台对应的U
2021-11-03 18:00:52 2054
原创 Jetpack Compose Compilier&Runtime浅析
文章目录关于Compose的一些事Compose的结构Compose CompilerKotlin Compiler Plugin和apt的区别[Compose Compiler结构](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin
2021-08-17 10:05:29 1202
原创 协程概念、原理等等
协程概念、原理等等协程的概念协程(英语:coroutine)是计算机程序的一类组件,推广了***协作式***多任务的子程序,允许执行被挂起与被恢复。英文co-routine,co协作,routine例程(计算机子程序的别称)协作式多任务(Cooperative Multitasking),是一种多任务方式,多任务是使电脑能同时处理多个程序的技术,相对于抢占式多任务(Preemptive multitasking),协作式多任务要求每一个运行中的程序,定时放弃自己的运行权利,告知操作系统可让下一个程序
2021-04-26 10:33:07 570
原创 关于某些中文字体展示英文gjpqy时候下部分显示不全的问题
//clipBottom计算时scrollY == maxScrollY的判断 boringLayout单行所以maxScrollY是0但是dynamic和static多行maxScrollY就不是0但是dynamicLayout一般都是movementMethod,所以都会调过public boolean bringPointIntoView(int offset) 所以会有一个scrollY然后下半部分会显示正常 但是上半部分显示不全...
2021-04-19 14:46:28 954
原创 一个可以切换是否autosize的TextView
上一篇文章说到 因为一个集成了AutofitTextView导致了ANR,所以只能全局替换掉继承关系,还得支持字体自动缩放,然后就有了这玩意open class AutoFontTextView : AppCompatTextView { private var mMaxTextSize: Int = 0 private var mMinTextSize: Int = 0 private var mWidthMeasureSpec: Int? = null private
2021-02-08 17:42:52 189 1
原创 记一次普通的ANR
项目场景:起因仍然是测试在测试的时候突然发现某个页面进去之后就会点不动,而且只在华为机型上出现,别的机型并没有,于是就去看这个问题。首先发生场景是在MainActivity的几个Fragment中的一个Fragment,切到这个Fragment过一会就会点不动,发生ANR。这个Fragment中就两个Viewpager,几个Recyclerview,唯一会动的就一个LottieAnimationView和一个会自动滑动的Viewpager,看上去属实平平无奇不应该发生什么问题。原因分析:当然出现了A
2021-02-08 15:22:41 941
原创 关于FileDownloader文件长度校验的问题
今天偶然发现https://github.com/lingochamp/FileDownloader 下一个https://www.sec.gov/的txt文件始终下载失败遂看源码 发现它下载完成最后会校验response header里的"Content-Length"或者"Content-Range" 然后这破网站header长度和txt对不上就死活不能完成 虽然outputstream已经完成文件已经下下来了但是只会有error的回调...
2020-11-27 18:38:26 492 2
原创 MIUI双开的权限bug
应用双开的权限bug有一个需要双开的app,原版叫做app1,双开的版本叫做app2首先打开app1,然后直接申请权限并允许,然后再在系统设置应用双开打开双开生成app2,再打开app2,在app2中checkPermission始终返回DENIED,在app2中requestPermission始终返回GRANTED,并且在app2中这个权限实际上也是无效的换一种方式,不打开app1,先生成app2,然后再在app1或者app2中申请并允许权限,然后再checkPermission,两个app都是G
2020-10-22 18:53:38 3193
原创 关于autofittextview的width不能为wrap_content这件事
今天碰到一个问题,有一个autofittextviewhttps://github.com/grantland/android-autofittextview在setText(一个短文案)之后再setText(一个长文案)之后autofit就不正常了,但是只一次setText()的是正常的一开始没想到是和wrap_content有关,所以直接看autofittextview的源码关键部分在这 AutofitHelper.autofitprivate class AutofitOnLayout
2020-09-23 19:30:16 243
原创 SpannableStringBuilder的坑
SpannableStringBuilder 清除文字要调clear() 清除span要再调clearSpan()这样来看还不如直接TextView setText()之后再setSpan()
2020-09-13 22:13:44 1192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人