gpt4 book ai didi

java - Android读取大变量数组的最快方法

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:38 26 4
gpt4 key购买 nike

在我的应用程序中,我需要找到一种更快的方法来加载大型 IntegerFloat 变量数组。什么

  1. 直接使用 Java 代码创建数组 - 这没有用,因为我的应用程序使用的数组非常大,超过 200 000 个浮点值,这会导致 java code too large 错误和我找不到任何解决方法。

  2. 尝试使用 xml 在项目中导入这些数组,但这也不起作用,因为文件大小变得非常大,我什至无法构建。

  3. 到目前为止,我在 assets 文件夹中添加了 txt 文件,使用 InputStream 读取它们,解析它们作为 float /整数并动态创建数组,但这太慢了。

我有这些大数组的原因是,因为我的项目使用 Vuforia 来显示 3D 模型,它需要将它们表示为 float /整数数组(顶点、文本坐标、法线、索引),但是加载 12 个模型需要太多时间了。

我很想得到一些意见/建议,我怎样才能加快加载过程。

提前致谢!

最佳答案

我没有对此进行基准测试,但(可能)读取大量整数和浮点值的最快简单方法是使用 DataInputStream 及其各种readXxx() 方法。

如果数据是同构的,那么使用 FileChannelByteBuffer 和(比如)DoubleBuffer 可能会加快传输速度。此方法在此处描述:“write/read float array in java fast way ”。 (荣誉归于@greenapps ...)但是,如果数据是异构的,那么让它工作将很棘手;即不同原始类型的混合。

关于java - Android读取大变量数组的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25845929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com