Android内存优化之一:MAT使用入门

MAT简介

MAT介绍

MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。

Read More

facebook开源项目Facebook Infer-静态代码检查工具

今天,我们开源了一个名叫Facebook Infer的静态程序分析库,该库用于在程序分发之前定位代码bug。静态分析器是一个不需要运行代码就可以准确地找出代码bug的自动化工具。它是传统的动态测试的补充,传统的动态测试允许每次只运行一个独立的代码单元来检测程序的正确性,静态分析则允许一次性检测多个、甚至所有代码。Facebook Infer使用数学逻辑来推理程序的运行,当在查找程序时来推测程序员在代码中所要做的操作。我们内部使用Facebook Infer来分析facebook的Android和iOS应用,例如facebook messagers, Instagram等等。现在,这个分析器能够发现空指针、内存泄漏等能够使应用奔溃的大量代码bug.

Read More

Android C++ 引用计数介绍, part 1

任何一个基于Android 的native框架做开发的人都不可避免的会碰到一些几乎到处使用的native层C++工具类。sp(或者称为StrongPointer),就是其中之一。了解它是如何工作非常重要,这样你才能更清晰的理解代码,并且写出精简、没有资源泄漏的代码。在这篇文章中,我们就要根据实例来了解sp的基本概念和使用方法。

Read More