美文网首页
带着问题看Matrix

带着问题看Matrix

作者: David_zhou | 来源:发表于2020-07-06 18:05 被阅读0次

很早之前看过matrix,但当时没有输出,当时侧重的是流程,较少关注背后的知识点。导致现在对这个框架印象不深,说不出什么东西来。现在准备带着问题重新看下这个框架,再次学习下。
另外做性能优化,需要较强的理论知识作为背景。只有懂得来理论,看代码的时候才会更清楚为什么要这样做。极力推荐极客时间的Android开发高手课.

Q&A
1 如何判断是否处于前台,以及前台的activity名

通过实现ActivityLifecycleCallbacks获取activity开始和结束的时机,维持一个变量
visibleScene用来标记当前的activity名,有activity启动这个时候去更新。收到onActivityStopped,
通过反射获取currentActivityThread的mActivities,遍历这个列表查找为paused的activity,
如果为空,则表示处于后台。否则处于前台。

2 如何判断activity是否发生了泄漏?

我们可以通过创建一个持有已销毁的Activity的WeakReference,然后主动触发一次
GC,如果这个Activity能被回收,则持有它的WeakReference会被置空,
且这个被回收的Activity一段时间后会被加入事先注册到WeakReference的
一个队列里。这样我们就能间接知道某个被销毁的Activity能否被回收了。

3 帧率检测方案?以及缺点

考文献
感谢微信的开源和先行者的无私分享
matix官方介绍
Matrix系列文章(一) 卡顿分析工具之Trace Canary
(4.2.49)微信APM:Matrix源码浅析
深入了解APM讲义V3

相关文章

  • 带着问题看Matrix

    很早之前看过matrix,但当时没有输出,当时侧重的是流程,较少关注背后的知识点。导致现在对这个框架印象不深,说不...

  • 带着问题看事物

    去过射箭馆的人都知道,几乎每个射箭道的墙顶都能看到禁止放空弓的标识,那为什么都会统一禁止放空弓呢? 知其然却不知其...

  • 带着问题看 Handler

    Q:简述 Android 消息机制原理 首先,创建和线程绑定的 Looper 对象,同时会创建一个与之关联的 Me...

  • 带着问题看 AsyncTask

    问题一:为什么 AsyncTask 需要在主线程创建和执行?问题二:为什么 AsyncTask 只能执行一次?结束...

  • 带着问题看世界

    曾经觉得带着问题去做某件事太势力了,不够纯粹,与自己的内心的想法背道而驰,这也让我无所事事的干了很多事情,却没收获...

  • CacheLab - Optimizing Matrix Tra

    Optimizing Matrix Transpose Matrix Transpose 还算一个常见的问题. c...

  • 带着问题看SparseArray源码

    sparseArray作为google推出的在android上替代hashmap的容器类,相信大家使用的也比较频繁...

  • Android 自定义View缩小图片

    Matrix matrix =new Matrix(); //Matrix绘图 Matrix提供了transla...

  • LeetCode每日一题:spiral matrix ii

    问题描述 Given an integer n, generate a square matrix filled ...

  • 看《Matrix》,学NLP

    1.生存还是死亡 正如树木的成长,我们需要清空心态,对旧有模式进行不断地自我否定,在学习的过程中实现持续地调整和改...

网友评论

      本文标题:带着问题看Matrix

      本文链接:https://www.haomeiwen.com/subject/jesgqktx.html