15.3.7. 测试

优质
小牛编辑
122浏览
2023-12-01

15.3.7.测试

到这里就可以做些测试了。需要留意的是,如果n的值比较大,那可能会消耗很长的计算时间,尤其是递归算法。另外计算是在主线程中进行,期间会影响到界面的响应,如果没有响应的时间过长,就有可能出现图6.9那样的Application Not Responding,影响测试结果。因此我建议将n的值设在25~30之间。此外,为了避免主线程的阻塞,你完全可以将计算的过程交给一个异步任务(AsyncTask,参见第六章的AsynTask一节)来执行,这将作为一个小练习留给读者。

经过一些试验以后,你会发现本地版本的算法几乎比 Java 版本快了一个数量级(图15.1 "33的菲波那契数")。

图 15.1. 33的菲波纳契数

从测试结果可以看出,本地代码对计算密集型应用的性能提升是很诱人的。通过NDK,可以使得本地代码的编写变得更加简单。