ios查看app运行所占内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios查看app运行所占内存相关的知识,希望对你有一定的参考价值。

参考技术A iPhone是美国苹果公司研发的智能手机系列,搭载苹果公司研发的ios操作系统。苹果手机是很多人喜欢用的手机,但怎么看苹果手机运行内存呢,下面我们就来了解一下。
1、在APP Store中搜索“手机硬件管家”,下载正确的APP。
2、打开“手机硬件管家”,进入软件后点击“内存”。
3、内存中的“总内存”即为运行内存。
在我们进行内存管理的时候,经常想看看我们管理后,程序所占的内存大小多少。但是,我们在pad或者iPhone上是看不到的,除非你的iPad或者iPhone是越狱过的。

现在现在给大家介绍一个方法,可以让我们轻松的看到我们程序所占的内存是多少。

Instruments 相信大家都知道我们在测试内存泄漏上有很大的用武之地,同样,我们也可以用它来查看苹果设备内程序运行时所占的内存,方法如下:

一、打开Instruments

二、选择:

三、第三步就不用详细说明了,只要大家用过这个工具来查看内存泄漏的话,相信后面的步骤就很简单了。

如果有什么不明白,可以给我留言,我会详细地和你解释

4种方法教你如何查看java对象所占内存大小

摘要:本文讲述4种查看java对象所占内存大小的方法

本文分享自华为云社区《查看java对象所占内存大小》,作者:xiewenci。

计算java对象所占内存大小

1.使用jdk8自带API

使用这种jdk8方式时,Open JDK 不是天然支持的,需要set一下环境变量

System.setProperty("java.vm.name","Java HotSpot(TM) ");
System.out.println(ObjectSizeCalculator.getObjectSize(3L));

结果如下:

2. 借助org.apache.lucene工具类

当一个对象有多个属性,需要计算整个对象的大小时,可以借助org.apache.lucene工具类

先引入maven坐标

		<dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>

测试代码:

		Map<String, String> map = new HashMap<>();
        System.out.println("map init value is " + RamUsageEstimator.sizeOf(map));
        for (int i = 0; i < 100; i++) 
            RandomStringUtils.randomAlphanumeric(100);
            map.put(RandomStringUtils.randomAlphanumeric(10), RandomStringUtils.randomAlphanumeric(10));
        
        System.out.println("map size 100, value is " + RamUsageEstimator.sizeOf(map));
        System.out.println("map size 100, value is " + RamUsageEstimator.humanSizeOf(map));

结果如下:

3. 借助jol工具类

如果需要查看某个对象的详细内存分布,可以借助jol工具类,不过这种当对象中内嵌其他对象时,只能计算ClassLayout方法中这个object对象所占内存的大小

先导入maven坐标

		<dependency>
            <groupId>org.openjdk.jol</groupId>
            <artifactId>jol-core</artifactId>
            <version>0.9</version>
        </dependency>

测试代码:

System.out.println(ClassLayout.parseInstance(23L).toPrintable());

结果如下:

4. java对象内存分布

最后,计算一个对象占用多大内存,需要提前了解java对象的布局。

点击关注,第一时间了解华为云新鲜技术~

以上是关于ios查看app运行所占内存的主要内容,如果未能解决你的问题,请参考以下文章

java中使用map时控制其所占内存

java中使用map时控制其所占内存

IOS-内存分析

iOS实时查看App运行日志

iOS实时查看App运行日志

iOS实时查看App运行日志