Android

前言 因为fresco库没有自动根据控件大小裁剪图片,所以需要手动监控是否存在大图 实现 通过lancet框架进行插桩 @Insert("reportSuccess") @TargetClass("com.facebook.drawee.controller.AbstractDraweeController&quo...

发布 0 条评论

前言 在https://27house.cn/archives/2396中已经介绍了,使用WeakReference可以与ReferenceQueue来判断是否执行了GC。按照这个理论,当GC的时候,就可以检测一下Activity是否泄露! 实现 代码如下所示,其中GcMonitor的代码在https://...

发布 0 条评论

WeakReference 在文章https://27house.cn/archives/2079中介绍了4种引用类型,其中WeakReference可以与ReferenceQueue来判断对象是否回收。那么其实我们可以使用此方法来监听系统是否进行了GC WeakReference监听GC 如下所示,通过添加...

发布 0 条评论

Matrix源码分析 卡顿监控原理 替换主线程Looper的Printer,从而监控dispatchMessage的执行时间,源码可以查看com/tencent/matrix/trace/core/LooperMonitor.java 具体可以查看公众号里面微信团队的解析 通过监控dispatchMessage的执行...

发布 0 条评论

Google服务封装好的sdk地址 https://github.sheincorp.cn/googleapis/google-api-java-client-services/tree/main/clients Google服务使用之前得先认证 implementation 'com.google.auth:google-auth-library-oauth2-http:1.19.0...

发布 0 条评论

根据官方文档:https://developer.android.com/topic/performance/memory?hl=zh-cn#kotlin import android.content.ComponentCallbacks2 // Other import statements. class MainActivity : AppCompatActivity(), ComponentCallbacks2...

发布 0 条评论

当应用程序涉及的 Fragment 越来越多时,我们需要对有关 Fragment 的生命周期事件做更多的管理和维护。registerFragmentLifecycleCallbacks 是一种非常好的管理 Fragment 生命周期事件的方式,可以让您在适当的时候更加灵活地执行功能...

发布 0 条评论

前言 在做性能优化的时候,发现很多布局使用的include标签直接导入,然后通过Databing直接控制显示隐藏。当想改写成ViewStub的时候,想按照普通View的写法创建一个BindingAdapte,会直接报错BR.xxx无法找到,不过系统还是提供了一个入...

发布 0 条评论

在Android应用程序中,资源ID是用于标识应用程序中各种资源文件的唯一整数值。资源ID的格式为0xPPTTEEEE,其中“0x”是一个固定的前缀,指示这是一个Android资源ID。剩余的8个十六进制数字用于表示资源类型和索引。 在0xPPTTEEEE资源ID...

发布 0 条评论

Monkey启动 adb shell monkey -p your.package.name --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-syskeys 0 --pct-nav 1 -v --throttle 100 -s 200 执行的次数 2>d:/error.txt 1>d:/verbose.txt ...

发布 0 条评论