首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/687782

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

解决Android内存泄漏;轻松降低100M

背景 今天发现有个App存在严重的内存泄漏问题,通过安装LeakCanary找到大致方向,通过严格管理Timer、Presenter和Handler,轻松把它消耗的内容降低了100M。 过程 LeakCanary LeakCanary是square公司提供的一个很好用的内存泄漏查找工具,与MAT不同的是,它会在你运行App时检查你的内存回收,并找到内存泄漏点,直接提示给你,比用MAT去分析日志的形式更加简单直接,不过缺点是LeakCanary的信息不像MAT那么多,很难查到更细微的问题。 LeakCanary的安装过程很简单,首先配置Gradle 然后在自定义的Application中初始化 记得在Manifest中使用自定义的Application 运行App,LeakCanary会在App运行过程中不定期收集信息,如果发现有内存泄漏的问题,就会在通知栏中给出提示,如XXXActivity大概因为XXX泄露了XXM内存,比如我们运行LeakCanary在Github上的demo,得到的提示就会像下图这样 可见,直接指出了问题类和问题原因,比起MAT还是简单多了的 Timer 在检查中...

从零开始完成一个Android JNI开发

背景 最近的一个项目需要用到Android JNI开发,在这里记录了一下如何从零开始完成一个JNI开发。 我们知道,Android系统本身是包括Java层和C层两部分的,相应的Android开发也分SDK开发和NDK开发两种,SDK开发是Java代码,NDK开发则是C/C++代码,他们之间通过JNI接口来交互,Java代码可以调用外部的本地代码, 外部的C/C++ 代码可以调用Java代码。 环境配置 首先在Android Studio中安装相关开发包,从settings中打开Android SDK,然后安装三个包: 接下来可参考超级简单的Android Studio jni实现进行配置,并编写hello world 需要注意的是,通过java代码生成c代码时(在新建的类上右键执行javah),有可能会遇到找不到类的错误,这时需要跑一遍App,让它生成这个类文件 相关文件及其功能 主要涉及的文件如下 在java中定义调用jni的java类,用来从java中调用,并生产jni中的h头文件; 在app工程中的build.gradle,用来配置生成和使用jni; jni文件夹中的...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。