0%

开发过程中,有时候需要获取当前正在执行的方法名,或者需要获取调用当前方法的方法名,可以通过 Thread.currentThread().getStackTrace() 来获取。

Thread.currentThread().getStackTrace() 返回的是一个 StackTraceElement 数组,内容为调用函数堆栈,并且以调用层级关系保存,显然,数组的第一个元素即 s[0] 就是获取这个数组的方法,因此,当前调用 getStackTrace() 的方法的方法名就是 s[1] 了。

阅读全文 »

请保持淡定,分析代码,记住:性能很重要。

随机存取存储器(RAM)在任何软件开发环境中都是一个很宝贵的资源。这一点在物理内存通常很有限的移动操作系统上,显得尤为突出。尽管 Android Runtime(ART)和 Dalvik 虚拟机都扮演了常规的垃圾回收的角色,但这并不意味着你可以忽略应用内存分配和释放的时间和位置。你仍然需要避免引入内存泄漏(通常是由于静态成员变量中持有对象引用导致),并在适当的生命周期的回调中释放所有的引用对象。

本文章介绍如何在应用中主动减少内存的使用。关于 Java 资源管理机制的更多信息,请参阅有关管理引用资源的其他书籍或在线文档。如果你正在寻找如何分析应用中的内存使用情况的文章,请参阅:Tools for analyzing RAM usage。 关于 Android Runtime 和 Dalvik 虚拟机如何管理内存的更多详细信息,请参阅:Overview of Android Memory Management

阅读全文 »