SeniorDoctorHui

Results 6 comments of SeniorDoctorHui

不用数据埋点,公司老板不允许埋点

> > 不用数据埋点,公司老板不允许埋点 > > 我们都没有人管这个,Android端基本我说了算,有时候很多没法从其他角度去考虑,都只只考虑从技术上的实现,没有老板或者产品之类的去把关 上家公司Android端也是我说了算,当时使用的是友盟的埋点功能,用了它的事件统计功能.我觉得埋点技术对于我们开发人员来说,最大好处是可以用于验证线上一些偶发的bug有没修改成功

@mtzqc 你好,绿屏,花屏,时长变长需要怎么改,能方便发一下吗

好的,多谢 ![004A8F35](https://user-images.githubusercontent.com/22976690/161881159-4f087d1f-ec62-45fe-ad0b-7d4372979b03.png)

@mtzqc 问个问题,frameBuffer这个变量是什么类型?

## 1,内存泄漏指的是创建对象已不需要使用,但是由于被长周期对象所引用,造成该对象到GC Root可达,故不被gc回收,从而使该对象所占有的内存无法释放。常见的内存泄漏场景如下: 1,非静态内部类持有外部类的引用,并且它的周期大于外部类的生命周期。(使用了延时的handler或者开启了线程) 2,对象引用被静态对象所持有的,因为静态对象一旦创建则其生命周期等同于整个app生命周期 3,mvp模型中,p持有v的引用,而在v销毁时,没有把p中v的引用置为null ### 对于内存泄漏,我们可以采取以下方法 1,尽量不要让静态对象引用持有Activity或者fragment,如果一定要持有引用,可以持有对象的弱引用,因为只持有弱引用的情况下,并不影响gc对对象内存的回收。 2,可以在短周期对象生命周期结束时,将长周期对象对它的持有引用置为null(一般适用于有明显生命周期的对象,如Activity,Fragment等) 3,针对于handler延时发送,而可能发生的内存泄漏,可以在Activity的onDestroy方法调用handler.removeCallbacksAndMessages(null).此时handler所持有的MessageQueue将移除所有handler发送的延迟消息,因此就不会造成内存泄漏了。 ## 2,内存溢出是指要创建的对象所需分配的内存大于所剩内存的情况,这时候就会抛出OutOfMemory的错误。对于内存溢出,我们所以采取以下做法来减少内存溢出的发生几率 1,在bitmap不需要使用时,将bimap置为null,尽早让gc能够回收,释放内存 2,使用统一的图片加载框架,因为图片框架使用了LRUCache来管理bitmap的内存,使用相同的图片加载框架能统一管理加载bitmap的内存,减少Bitmap发生几率。 两者关系:内存泄漏发生多了有可能导致内存溢出的发生