方法执行完毕后,是否清除了本地字节缓冲区?

时间:2019-07-08 12:12:23

标签: java android bytebuffer

我每秒都会调用以下代码:

public Data getData(byte[] arr){
    //java.nio
    ByteBuffer buffer = ByteBuffer.allocate(arr.length);
    buffer.put(arr);
    ByteBuffer f = ByteBuffer.wrap(arr);        
    //using buffer and f. and calculate data        
    buffer.clear();
    f.clear();      

    return data;
}

会不会出现内存问题?我的记忆是否清除?该代码会损坏我的设备吗?

我的设备android 4.4

1 个答案:

答案 0 :(得分:1)

您正在使用局部变量,这意味着执行方法后,GC将在适当的时候清理该方法使用的资源。因此,您不必担心内存泄漏或损坏。

  

使用java.nio.ByteBuffer时,如果分配了大量内存,是否   可能会删除系统文件并且设备将停止   工作吗?

答案是不可能。操作系统绝不允许简单的应用程序破坏您的文件系统