字节或ByteBuffer的数组,更快

时间:2013-02-01 13:37:44

标签: java android reference stream

我正在寻找我的应用程序中最好的方法,现在我想知道:

我通过读取InputStream接收到一个字节数组(byte [])。然后我必须做一些处理,所以我将此数组作为方法的参数传递。 来自C ++语言,并且我必须尽可能快地进行这种处理,并且很多时候,我想知道是否按值传递字节数组可能不会导致问题。

是否值得创建一个ByteBuffer对象来传递对我的方法而不是值的引用?

感谢您的帮助和建议。

3 个答案:

答案 0 :(得分:1)

在Java数组中是对象,因此您实际上是将引用变量的副本传递给此对象。

II ++在C ++中传递数组相当于将指针传递给第一个元素。

答案 1 :(得分:1)

传递byte[]引用就像传递序数对象引用一样。不会复制数组。使用ByteBuffer包围不值得

答案 2 :(得分:0)

通常,使用原始类型更快,因为它需要更少的内存来存储数据。

因此我建议保留字节数组解决方案。这当然取决于你打算用它做什么“治疗”:)