androidstudio通过profiler查找内存泄漏(代码片段)

ShouCeng ShouCeng     2023-02-16     422

关键词:

除了LeakCanary和mat可以帮我们排查内存泄漏,Profiler也可以,功能强大,可以进行内存、绘制、网络、电量的分析。

通过view-》Tool Window -》Profiler打开工具,选择对应的进程,选择MEMORY

然后点击Recorder按钮:


然后筛选,就可以查看结果了。

勾选 show nearest Gc root only,然后查看非weakreference的引用(weakreference是不会导致内存泄漏的),往下就能找自己项目里写的代码,一般此处就是内存泄漏点。该案例泄漏:

public class NewHomeScrollingActivity extends AppCompatActivity 
    private ScrollView scrollView;
    public  static Object leakkkkobject;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new_home_scrolling);
        leakkkkobject = this;
    

androidstudio3.0profiler性能分析利器(代码片段)

1:AndroidProfiler的是使用流程:1.点击工具栏的图标即可打开在AndroidProfiler窗口的顶部,如图所示,选择设备①和你想要配置的app进程②当我们连接一个设备后,打开AndroidProfiles运行我们的应用程序时,它会默认... 查看详情

使用androidstudio创建flutter项目时卡死在creatingflutterproject

参考技术A使用Androidstudio创建flutter项目时卡死在Creatingflutterproject,我也是查了网上很多解决方案,都不行,而且每次打开终端terminal都会报zsh:commandnotfound:flutter,需要重新export路径,最终发现是因为没有设置永久路径导致的,只... 查看详情

androidstudio如何查找和替换

快捷键:Ctrl+F查找,Ctrl+R替换。 查看详情

whereiswhichfind的区别

...令实际上是/usr/bin/目录下的一个可执行文件。它实际上是通过PATH环境变量来查找的。 whereis用于查询某个文件的位置。它是通过查询数据库来查找的。在linux系统中所有文件都会被记录在一个数据库文件中,方便用户快速查... 查看详情

Android Studio 3.3,Advanced Profiling 对所选进程不可用

】AndroidStudio3.3,AdvancedProfiling对所选进程不可用【英文标题】:AndroidStudio3.3,AdvancedProfilingisUnavailablefortheSelectedProcess【发布时间】:2019-01-3107:55:04【问题描述】:我将我的androidstudio更新到3.3版并遇到androidprofiler问题“所选进程无... 查看详情

使用 profiling 工具查找 java 代码中 outOfMemoryError 的确切原因

】使用profiling工具查找java代码中outOfMemoryError的确切原因【英文标题】:UsingprofilingtooltofindtheexactreasonforoutOfMemoryErrorinthejavacode【发布时间】:2013-12-2504:59:46【问题描述】:您好,我有一个使用JDBC同时访问远程和本地数据库的java... 查看详情

androidstudio3.0profiler性能分析利器(代码片段)

1:AndroidProfiler的是使用流程:1.点击工具栏的图标即可打开在AndroidProfiler窗口的顶部,如图所示,选择设备①和你想要配置的app进程②当我们连接一个设备后,打开AndroidProfiles运行我们的应用程序时,它会默认... 查看详情

androidstudio搜索功能(查找功能)及快捷键图文详解

这篇文章主要介绍了AndroidStudio搜索功能(查找功能)及快捷键图文详解,本文图文并茂给大家介绍的非常详细,需要的朋友可以参考下 1、在当前窗口查找文本【Ctrl+F】F3向下查找关键字出现位置 Shift+F3向上一个关键字出现位... 查看详情

android内存优化三:内存泄漏检测与监控

...Bitmap优化MemoryProfiler是Profiler中的其中一个版块,Profiler是AndroidStudio为我们提供的性能分析工具,使用Profiler能分析应用的CPU、内存、网络以及电量的使用情况。进入了MemoryProfiler界面。点击Record按钮后,Profiler会为我们记录一段... 查看详情

androidstudio中http协议代理怎么设置

参考技术AAndroidstudio的是谷歌的人员进行开发的工具,那么在使用的androidstudio的中要进行下载相关的内容,是不能直接进行下载Androidstudio的内容,可以通过对Androidstudio的代理设置之后,就可以对Androidstudio的各种上的插件,用来... 查看详情

androidstudio中查找代码中的硬编码

在AndroidStudio中同时按下Ctrl+Shift+F 或者其他自定义的快捷键,打开全局搜索,在全局搜索中输入^((?!(*|//)).)+[u4e00-u9fa5]并打勾搜索框的RegularExpression(正则表达式),然后开始搜索,就会找出程序所有的硬编码了。 参考:ht... 查看详情

如何在 Android Enterprise Work Profile 中调试应用程序

...的政策(见下文)允许安装带有调试版本变体的apk。通过AndroidStudio启动调试会话现在将应用程序安 查看详情

使用golang进行性能分析(profiling)

...分析不在本文分析范畴之内Golang编写的服务器可以方便的通过内建性能分析,输出图表仔细查找原因,非常的方便,如下图1.获取一个性能分析的封装库gogetgithub.com/davecheney/profile2.在工程 查看详情

怎么查找linux上jdk安装目录

...量和卸载jdk安装:1.配置linux的环境变量:(记得source.bash_profile).修改/etc/profile文件(全局所有用户)vi此文件/etc/profile在profile文件末尾加入:exportJAVA_HOME=/usr/share/jdk1.6.0_20exportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_... 查看详情

android开发小技巧快速查找androidstudio对应的intellijidea版本(代码片段)

不少开发者电脑里同时安装有AndroidStudio和InteliJIDEA,Studio开发Android应用,IDEA调试一些纯Kotlin/Java工程。这两者都是源自IntelliJPlatform的IDE,所以两者在版本上存在对照关系。Build版本号含义根据IntelliJPlatformSDKDevGuide的Bu... 查看详情

mac上androidstudio调试android手机

参考技术AAndroid调试桥(adb)是一个开发工具,帮助安卓设备和个人计算机之间的通信。这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接。adb还可被用来与电脑上运行的安卓模拟器交流通信。1.查看AndroidSDk路径到此adb驱动... 查看详情

androidstudio快捷键

Alt+回车导入包,自动修正Ctrl+N  查找类Ctrl+Shift+N查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O优化导入的类和包Alt+Insert生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C  最近更改的代码Ctrl+R替换文本Ctrl+F查找文... 查看详情

android studio 3.0 中的 Kitkat 设备/google glass 不支持 Android profiler

】androidstudio3.0中的Kitkat设备/googleglass不支持Androidprofiler【英文标题】:AndroidprofilernotsupportedforKitkatdevices/googleglassinandroidstudio3.0【发布时间】:2017-12-2123:26:33【问题描述】:从androidstudio3.0AndroidMonitor转向Androidprofiler。但是 查看详情