我的Android NDK应用程序在C中使用单个开放源代码库。当它工作时,该库在处理器上的负载过重。问题:在Android NDK上优化应用程序
如何理解图书馆的哪些组件会承受最大的压力?
有什么方法可以优化吗? LOCAL_ARM_MODE:= arm大大提高了性能?
我的Android NDK应用程序在C中使用单个开放源代码库。当它工作时,该库在处理器上的负载过重。问题:在Android NDK上优化应用程序
如何理解图书馆的哪些组件会承受最大的压力?
有什么方法可以优化吗? LOCAL_ARM_MODE:= arm大大提高了性能?
有一些技巧,可以优化你的Android原生代码,没有太多的努力:使用-O3
开关
-fno-strict-aliasing
(或者你可以把如果你遵循C-aliasing规则,那么它就是 )-mfpu=vfp -mfloat-abi=softfp
在哪里可以添加这些标志? – 2013-12-20 06:02:24
CPPFLAGS + = -fno-strict-aliasing -mfpu = vfp -mfloat-abi = softfp – 2013-12-20 09:55:39
你想使用什么开源库?如果您命名它,我们可以主要提供更具体的信息。例如,如果它是一个视频编解码器,那么答案可能是由于大量数据和计算密集型工作,视频编码固有地需要大量CPU功率。 – Codo 2011-06-13 09:17:37
我使用音频库。它包括所有其他的编解码器,如lib库,libmp3lame,ffmpeg ... – Kyborg2011 2011-06-13 11:35:06
所以这个音频解码库需要大量的CPU。我怎样才能减少CPU的消耗? – Kyborg2011 2011-06-13 11:35:55