我想從位於SD卡上的文件創建一個zip文件,我已經設法做到這一點使用java,但我認爲結果太慢,所以我想去本地使用android NDK。android如何使本機壓縮應用程序
我的問題是:
有誰知道的任何C/C++庫來壓縮解壓縮文件,將在Android上工作?
如何知道庫是否能在android上工作?
這會對性能產生什麼影響嗎?
我想從位於SD卡上的文件創建一個zip文件,我已經設法做到這一點使用java,但我認爲結果太慢,所以我想去本地使用android NDK。android如何使本機壓縮應用程序
我的問題是:
有誰知道的任何C/C++庫來壓縮解壓縮文件,將在Android上工作?
如何知道庫是否能在android上工作?
這會對性能產生什麼影響嗎?
我個人比較喜歡7zip,它們是開源的here。您可以嘗試在Android NDK的應用程序中進行編譯。 gzip也是另一個不錯的選擇。
非常感謝我的迴應,我會嘗試,即使我是新來的C + +和ndk,並不知道如何:p – maxsap 2010-10-07 16:55:09
你可能想看看gzip然後,我認爲它的C基礎。 – omermuhammed 2010-10-07 17:10:53
關於你的問題「如何知道庫是否能在Android上工作」 - 這取決於庫的依賴關係。標準的谷歌NDK有很有有限的C++支持。如果它是用C寫的你可能OK,但如果它是C++,你需要確保它僅使用下列頭/庫:
(從homepage)
如果需要完全C++支持一個最小的套頭的,你將需要使用Crystax NDK。
被預先警告 - 交叉編譯的過程是Very。複雜。如果你對命令行以及C編譯,鏈接等方面的內容感到不太舒服,我會尋找替代解決方案。
鑑於核心zip文件(apk文件,jar文件)是如何安卓的,如果java zip文件函數沒有使用實際算法的本地實現,我會感到非常驚訝。
請記住,與普通磁盤相比,SD卡本身速度較慢。
除非您使用zlib以外的東西,否則您不可能看到任何性能變化。 java.util.zip類用於壓縮和擴展。 – fadden 2010-10-08 18:25:14