首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
17
订阅
用户6441521582840
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
“Maybe bug 77342775” 异常问题分析
分析解读 Android 9.0 上由于 dex2oat 编译优化引起的插件代码 IncompatibleClassChangeError 异常问题(Maybe bug 77342775)
Android R8 mapping.txt文件解读
同时R8编译之后也会压缩LineNumberTable,导致我们读取崩溃栈信息的时候异常头疼,因为代码行数有可能完全对不上。好在R8在混淆的时候会另外输出一个mapping.txt文件,记录混淆的信息(包括代码行数变化信息),因此我们可以通过该文件逆向解析崩溃栈。 __mapp…
插件化之styleable资源解析异常问题分析
当我们自定义View的时候经常也会自定属性,也就是__declare-styleable__。但是当我们尝试在插件中使用该自定义View的时候,经常会出现自定义属性未正常解析的问题。我们知道,对于插件和宿主的资源,一般的处理方式是隔离并分配不同的资源ID。然而,这个问题正是由于…
Kotlin之泛型
不变指的是subtype和subclass没有从属关系,例如:若 B extends A,则任何情况下 List<A> 和 List<B> 均不能互相替代。事实上,在Java中任何指定类型(不加任何特殊修饰符)的泛型都是不变,例如:List<Str…
Kotlin之Suspend Function
kotlin的suspend方法是kotlin协程的核心,任何一个方法以suspend关键字修饰,则表示该方法支持以非阻塞的方式挂起和恢复方法调用过程。suspend方法的定义与普通方法一样,唯一的区别在于只有suspend方法才可以调用suspend方法。 对于任何一个以su…
kotlin之 Intrinsic Function
Intrinsic Function是由kotlin编译器支持的一类特殊函数,这些函数都是由编译器根据平台语言动态生成的,在kotlin的代码中不需要任何实现。 值得注意的是,该方法仅存在于编译期,因为这个方法是一个inline方法,kotlin代码经编译之后便不存在对方法的直…
Android7.0以下系统,由View的post()方法引起的内存泄漏问题分析
Android7.0以下系统,由View的post()方法引起的内存泄漏问题源码/RTFSCandroid.view.View如果在View还未attach的状态下,调用post()方法,从源码可以看
Android硬件加速引起的显存异常增高问题分析
如图所示,这是打开模式切换Dialog时,内存变化的截图,从这个图中可以看到,进入这个Dialog显存的变化分为两个阶段 22MB ~ 34MB 以及 34MB ~ 49MB,第一个阶段是Dialog显示的显存,而第二个阶段则是动画引起的显存变化。 为什么动画消耗的显存会比Di…
Android 5.0~6.0系统,由于硬件加速引起的内存泄漏问题分析
从 hprof 文件可以看到:这些 bitmap 除了一个 JNI Global 的引用之外,已经没有其他的引用了,而正是由于这个 GC root 引用,导致这些 bitmap 无法被及时回收。 硬件加速原理此处不深入讨论,主要是将绘制操作分别保存到 DisplayListDa…
Android5.0以下系统,由于Message复用引起的内存泄漏问题分析
当然,如果这个线程一直在运行而不阻塞挂起,那么这个问题也就不复存在了;然而,对于 HandlerThread 来说,总会有挂起的时候- 。- 如果这几个 Message 恰好又是上文中提到的 Message ,那么这个 Message 就无法被及时回收,另外因为这几个 Mess…