开发者社区> 问答> 正文

java byte 数组初始化效率问题

有一段代码,每个30ms从jni得到一个byte数组(存储YUV420数据).现在的问题是,以下两种做法,哪种效率更高些.设备对内存较为敏感.在启动这段代码前,先分配一个预估大小的byte[]数组在每次数据到来时,再去根据大小分配byte[]数组的大小当然如果每次得到的数据大小接近,应该还是第一种方法好些.
所以我的问题也可以简化为:new byte[] 这种语句对效率的影响有多大呢?

展开
收起
蛮大人123 2016-02-21 15:33:58 4889 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    已研究过,结论如下:
    这个就是不应该每次都去new一块buffer出来,因为在每30ms执行一次的代码块中这样做,会频繁触发虚拟机GC,严重影响性能.所以一定要采用事先分配好buffer的做法.

    2019-07-17 18:46:00
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载