加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 内存泄漏,适用于Android的Spring

发布时间:2020-12-15 01:27:12 所属栏目:大数据 来源:网络整理
导读:我的代码中存在潜在的内存泄漏,我正在尝试找到解决方案.我正在使用Spring for Android框架.而且更具体了 RestTemplate.exchange(); 为了使飞行绑定.但是,当我进行内存分析时,我得到以下内容: 1.628个“com.products.Product”实例,由“dalvik.system.PathCl

我的代码中存在潜在的内存泄漏,我正在尝试找到解决方案.我正在使用Spring for Android框架.而且更具体了

  RestTemplate.exchange();

为了使飞行绑定.但是,当我进行内存分析时,我得到以下内容:

1.628个“com.products.Product”实例,由“dalvik.system.PathClassLoader @ 0x43692b80”加载,占用1.363.064(22,20%)个字节.这些实例是从“java.lang.Object []”的一个实例引用的,由“”加载.支配树如下:

class com.products.ProductList @ 0x436d7ea8 System Class| 1.628 | 8 | 130.240 | 8

mFilteredProducts java.util.ArrayList @ 0x43a4eab0| 1.628 | 24 | 130.240 | 6.552

array java.lang.Object[1628] @ 0x43bdc888| 1.628 | 6.528 | 130.240 | 6.528

[274] com.products.Product @ 0x4398b038| 1 | 80 | 80 | 760

[1175] com.products.Product @ 0x43b26868| 1 | 80 | 80 | 808

……..

????????????????
??????????????
????????????
??????????
????????
??????
????
??

以上是主宰树.但是我想知道是否有一种安全的方式来激活垃圾收集器.是个

  System.gc();

安全?但是,有没有办法停止内存泄漏?
?com.products.Product类只是一个简单的POJO,它将JSON字段绑定到相应的属性.通常,用于绑定JSON的POJO如下:

@JsonIgnoreProperties(ignoreUnknown = true) //must be there all times most likely
public class MyPojo {

@JsonProperty("Products")
private ArrayList

com.products.Product:

@JsonIgnoreProperties(ignoreUnknown = true) //must be there all times most likely
public class Products {

 @JsonProperty
 private String prodnum;
 @JsonProperty
 private String brand;
 @JsonProperty
 private String name;

       //get/set
}
最佳答案
调用System.gc()是安全的.但它不一定会触发实际的垃圾收集.调用此方法仅建议JVM尽一切努力执行垃圾回收. Java中没有办法强迫它.

关于内存泄漏.查看ProductList,为什么它包含所有这些对象.如果仍然从应用程序的任何位置引用ProductList,则不会发布所有这些产品.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读