美文网首页
Android 性能优化--内存优化

Android 性能优化--内存优化

作者: 墨白1629 | 来源:发表于2018-06-06 19:42 被阅读5次

不知道大家在开发中有没有遇到过这样的情况,一个函数里面将对象添加到集合中,对象必须重新new才行,不能是同一个对象,我的项目中需要一次new七百多个对象,并且100毫秒刷新一次又重新new对象,然后跑了几十分钟就OOM了,我调用的是别人的类,虽然可以改,但是感觉无从下手.

然后我就在创建对象的时候用一个集合把对象存起来,当集合达到一定大小时就不再new对象,从集合里面拿,把之前new的对象循环复用,这样就避免了一直创建对象导致OOM的问题

public static int a = 0; public static boolean stopNew; public static List mPointList = new ArrayList<>(); public static void Dian(HeatMap22 map, float clamp, float clamp2, double clamp3) { if (!stopNew) { mPoint = new HeatMap22.DataPoint(clamp, clamp2, clamp3); } if (mPointList != null && mPointList.size() < 2000 ) { mPointList.add(mPoint); } if (mPointList != null && mPointList.size() >= 1999){ stopNew = true; mPointList.get(a).setX(clamp); mPointList.get(a).setY(clamp2); mPointList.get(a).setValue(clamp3); map.addData(mPointList.get(a)); a++; if (a > 1998){ a = 0; } }else { map.addData(mPoint); } }

相关文章

网友评论

      本文标题:Android 性能优化--内存优化

      本文链接:https://www.haomeiwen.com/subject/yjjisftx.html