2017-02-22 81 views
0

我正在开发一个android应用程序,其中我需要初始化float数组。我有这样的代码:Nexus 6P上的慢代码

private float[] verticesArray; 
private int vertexPosition = 0; 

public void addVertexAttribute(float attribute) { 
    verticesArray[vertexPosition++] = attribute; 
} 

当我在我的测试设备上运行的代码 - 我得到了奇怪的结果:呼吁的Nexus 6P addVertexAttribute 30次拿了75000个纳秒,在HTC一个X - 15000个纳秒,HTC渴望Ç - 70000纳秒。那么,为什么它在最强大的设备上慢了5倍呢?

我的Nexus 6P是在牛轧糖7.1.1上生根的。 HTC One X是4.1.1的根源。 HTC Desire C - 4.0.1,没有根。

此外,我使用libgdx框架,这是一个网格初始化。

回答

0

这是因为Nexus 6+设备具有数据加密功能。

Encrypted vs. Decrypted Benchmarks

+0

好的,我明白了。做了一些研究 - 在基准测试中它慢了2倍。我可以在我的应用程序中绕过它吗?我不希望它在强大的设备上变慢。 – user3470643

+0

@ user3470643,不在系统级别。 –