我打算創建一個SDK(涉及大量數據操作),可用於在Android上創建應用程序。Java與Android中的本地編碼應用程序開發
我打算開發完整的SDK,包括Java庫,因爲如果我用本地語言(C++)實現我的庫,Java和本地層之間的數據移動將涉及內存副本,並且會讓我的應用看起來很慢。
我打算將相同的SDK稍後移植到其他平臺,如Windows Mobile。在這種情況下,我對代碼更好的方法感到困惑,同時牢記SDK的可移植性和性能。
輸入將不勝感激。
我打算創建一個SDK(涉及大量數據操作),可用於在Android上創建應用程序。Java與Android中的本地編碼應用程序開發
我打算開發完整的SDK,包括Java庫,因爲如果我用本地語言(C++)實現我的庫,Java和本地層之間的數據移動將涉及內存副本,並且會讓我的應用看起來很慢。
我打算將相同的SDK稍後移植到其他平臺,如Windows Mobile。在這種情況下,我對代碼更好的方法感到困惑,同時牢記SDK的可移植性和性能。
輸入將不勝感激。
Windows Mobile支持本地代碼(Visual C++,請參閱Getting Started in Developing Applications for Windows Mobile),因此使用Android NDK將是一個不錯的選擇。至少你不必從頭開始寫整個事情。你可以用C/C++編寫公共代碼庫,只編寫Android的Java包裝器。如你所知,Windows Phone 7(Windows Mobile的後繼者)使用C#以及你在Android上採取的任何方法,無論如何你都需要從頭開始重新編寫SDK。 Windows Phone 7.x 可能將在未來的某個時間支持本地代碼(C/C++),但不會很快。
謝謝,這回答了可移植性。你可以評論在Java和本地編碼在android的性能? – Deepak
從[http://developer.android.com/sdk/ndk/index.html](http://developer.android.com/sdk/ndk/index.html):「使用本機代碼不會導致自動性能提高,但總會增加應用程序的複雜性。「所以如果你沒有使用Java的性能問題,你不需要_need_本地代碼。如果可移植性是一個主要問題,那麼本地代碼可以相對容易地移植到iOS上,只需用Objective C/C++包裝器替換Java包裝器即可。 –
謝謝Mika,這很有幫助。 – Deepak
我有點困惑。您是否打算創建一個像Google已經提供的SDK那樣的真正的SDK,或者您是否希望創建一個框架,然後將其移植到其他平臺(例如遊戲引擎)? –
我想創建一個框架.. – Deepak