我有幾個二進制文件,用於圖像處理中的數據是浮動的形式,並經常使用。計算包括相機拍攝圖像中像素的相乘和相加。在Android中使用二進制文件數據的最快方式是什麼?
目前這些文件以資源形式存儲在/ res文件夾中,並且每次使用文件時都使用DataInputStream,其中數據是在單個函數中讀取和計算的。
我對於在應用程序中使用文件比較陌生,特別是在Android上,所以我想知道是否有更好的方法從文件中獲取數據,例如我一遍又一遍地使用相同的數據再次讀取數據並將其存儲在數組或SQLite數據庫中會更好。這是一個增強現實應用程序,因此處理後的圖像需要近實時顯示。
許多在此先感謝。
編輯:謝謝Patthoyts爲您的答案,在不同的問題,然而,Why people say mmap by MappedByteBuffer is faster?,我讀過使用MappedByteBuffer不需要,因爲我每次順序閱讀我的數據。在Android上有經驗的人能告訴我什麼時候在開始時讀取數據並將其存儲在大型數組或緩衝區中,或者每次需要時都從流中讀取數據。總的來說,我有大約5萬個浮點值。
你在說多少數據?另外,你的意思是說你正在將數據存儲在/ res/raw中?或在/ res /值或其他地方? –
這篇[兩篇文章](http://imrannazar.com/Augmented-Reality-with-the-Android-NDK:-Part-2)應該很有用 –
謝謝大衛,我看了一下使用計算的NDK,這個問題我真正想知道的是在這種情況下基於性能的最佳實踐,比如存儲大型數組是否比從數據流中持續獲取數據更好。要回答Ted的問題,這些文件包含2576個浮點值。 –