小编hyu*_*cho的帖子

当我使用 Wea​​kReference 时,无法解析 Android 上的符号消息

我的应用程序相机预览记录应用程序。我ArrayList在录制相机预览期间使用 , 。

ArrayList在全局变量上声明

private ArrayList<OutputInputPair> pairs = new ArrayList<OutputInput>();

当我记录停止按钮单击时,执行stop()方法

@Override
public void stop() {
   pairs.clear();
   pairs = null;
   stopped = true;
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我继续录制而不单击录制停止按钮。发生大量内存泄漏。

在此输入图像描述

所以,我想用WeakReference 我试试这个

//private ArrayList<OutputInputPair> pairs = new ArrayList<OutputInputPair();
  private ArrayList<WeakReference<OutputInputPair>> pairs = new ArrayList<WeakReference<OutputInputPair>>();  //global variable

 @Override
 public void add(OutputInputPair pair) {
    //pairs.add(pair);
    pairs.add(new WeakReference<OutputInputPair>(pair));
 }

 @Override
 public void stop() {
    pairs.clear();
    pairs = null;
    stopped = true;
 }

 @Override
 public void process() {  //record method
    //for (OutputInputPair pair …
Run Code Online (Sandbox Code Playgroud)

java android weak-references arraylist

3
推荐指数
1
解决办法
636
查看次数

标签 统计

android ×1

arraylist ×1

java ×1

weak-references ×1