2012-09-25 63 views
4

直接編碼Vs的圖書館直接代碼Vs的圖書館在android系統

將用相同的代碼和功能的庫比的情況下提高了應用程序的大小,當代碼被直接寫入調用庫

代替

例如,考慮獲取經度和緯度值的代碼。如果我把它放在一個庫中,並將該庫附加到項目中,並調用其中存在的方法來獲取值而不是直接編寫代碼,那麼這樣做會增加應用程序的大小。如果這樣做不會有大小的任何變化,那麼這將是有益的,使這樣的庫,並將其連接到項目時需要提前

+1

請確認我們在這裏談論的是JAVA的Android應用程序(相對於NDK的C/C++開發) – Elemental

+0

@Elemental:是的,我是在談論Java的Android開發。 –

+0

@SherifelKhatib:我很抱歉,我沒有得到你。 –

回答

4

我的理解是,如果你使用Proguard的建議由谷歌在理論上他們應該是相同大小的APK。 Proguard應該只使用引用來構建APK的庫中的類。

最重要的是,Proguard還有其他縮小APK大小的功能。儘管如此,它並非沒有缺點。

http://developer.android.com/tools/help/proguard.html

注意:一旦你準備好生產Proguard的纔會被使用。

0

雖然這個問題需要進行更多的討論

感謝,這樣的比較不會給你100%的答案,通常使用庫會給你一個更小的應用程序足跡。

沒有OOP的純C庫應該會給出最好的結果。

+0

:謝謝你的迴應。我的意思是例如,考慮獲取經度和緯度值的代碼。如果我把它放在一個庫和庫連接到該項目,並調用的方法出現在它獲得的,而不是直接寫代碼的值,將這樣做增加了應用程序的大小。如果這樣做不會有大小的任何變化,那麼這將是有益的,使這樣的庫,並將其連接到項目需要時。 –