我的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