您现在的位置是:群英 > 开发技术 > 移动开发
Android性能怎么优化,都有哪些优化工具
Admin发表于 2022-05-07 17:21:41735 次浏览
在实际案例的操作过程中,我们可能会遇到“Android性能怎么优化,都有哪些优化工具”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。

 性能优化的帮助工具:
  • MAT,
  • Memory Monitor(属于AndroidMonitor中一个模块),
  • HeapTool(查看堆信息),
  • Allaction Tracking
  • LeakCanary
  • Lint工具

1.Allaction Tracking

(1)追踪

在内存图中点击途中箭头的部分,启动追踪,再次点击就是停止追踪,随后自动生成一个alloc结尾的文件,这个文件就记录了这次追踪到的所有数据,然后会在右上角打开一个窗口。展示和第一种方式有点区别,各有所长,他有两种展现方式。

(2)分类我们的内存分配

红框中:

Group by Method:用方法来分类我们的内存分配,默认会以Group by Method来组织

Group by Allocator:用内存分配器来分类我们的内存分配

我们用 Group by Allocator的方式来查看一下:

可以看到我们自己包中,每一个类的内存分配次数和分配的大小。如果我们想看内存分配的实际在源码中发生的地方,可以选择需要跳转的对象,点击该按钮就能发现我们的源码。

(3)查看统计图

想看某个图层详细内存分配,则双击速表左键进入下一图层:

内存分配情况

通过[Layout方式查看更直观:

2.LeakCanary

(1)配置

Getting started

In your build.gradle:

 dependencies {

   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.2'

   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.2'

 }

In your Application class:

public class ExampleApplication extends Application {

  @Override public void onCreate() {

    super.onCreate();

    if (LeakCanary.isInAnalyzerProcess(this)) {

      // This process is dedicated to LeakCanary for heap analysis.

      // You should not init your app in this process.

      return;

    }

    LeakCanary.install(this);

    // Normal app init code...

  }

}

(2)制造一个单例内存泄漏的点

public class CommonUtils {

    private static CommonUtils instance;

    private Context context;

    private CommonUtils(Context context) {

        this.context = context;

    }

    public static CommonUtils getInstance(Context context) {

        if (instance == null) {

            instance = new CommonUtils(context);

        }

        return instance;

    }

}

 protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        CommonUtils commonUtils = CommonUtils.getInstance(this);

    }

(3)LeakCanary 发出内存泄漏通知

(4)LeakCanary 分析

LeakCanary 本质上还是用命令控制生成hprof文件分析检查内存泄漏。

3.Lint分析工具

Android Studio很方便,很好用,你可以试试点击AS菜单栏上面的Analyze选项,然后点击Inspection Scope,然后选择你需要检测的范围(比如整个项目),然后AS会自动弹出下图所示的面板

可能出现内存泄漏的类:

检测资源文件是否有没有用到的资源。

检测常见内存泄露

安全问题SDK版本安全问题

是否有费的代码没有用到

代码的规范---甚至驼峰命名法也会检测

自动生成的罗列出来

没用的导包

可能的bug


以上就是关于“Android性能怎么优化,都有哪些优化工具”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2021-12-23 19:13:05 
摘要:C++为何调用C接口出错?一些朋友会奇怪,C++兼容C,那么直接调用不就好了,但是实际上按一般的调用方法,C++调用C接口会出错,那么正确调用究竟该怎样做呢?
2022-11-19 17:51:06 
摘要:为什么需要懒加载?像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力。
2022-09-26 18:00:13 
摘要:在本篇文章里小编给大家整理的是一篇关于PHP删除关联数组中键值的方法,有需要的朋友们可以学习参考下。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部