http://coolshell.cn/articles/3549.html/comment-page-1#comments 看评论
-------------------
乔布斯说的这段话,才是Android和iOS之间的真正的区别(注意乔布斯一点没提开发语言,因为那根本无关紧要):
“谷歌喜欢强调Android是“开放的”,而iOS和iPhone是“封闭的”。我们发现这有点不够真诚,而且模糊了我们之间真正的差异。我们多数人 听到“开放”这个词时首先想到的是Windows,这款系统被用于多种设备,而且多数PC都拥有相同的用户界面,并运行相同的应用。但是与 Windows不同,Android非常分化。许多Android OEM厂商,包括宏达电和摩托罗拉这两家最大的企业都安装了专有的用户界面,以便将自己与大众化的Android体验区分开来。而要搞清楚如何使用,都要 由用户自行处理。相比而言,所有的iPhone手机运行方式都一样。
Twitter客户端(TweetDeck)最近发布了他们的Android应用。他们表示,需要应对244款不同型号的手机采用的100多个不同版 本的Android。不同的硬件和软件版本会给开发者带来巨大的挑战。许多Android应用只能被用于特定的Android手机、特定的 Android版本。而且这种手机从正式出货至今还不到12个月!与之相比,iPhone只有两个版本的软件需要测试:现在正在使用的版本,和最近的上一 个版本。
除了谷歌的应用市场,亚马逊、Verizon和沃达丰也都宣布将推出自己的Android应用商店。所以至少会有4个Android应用商店,要找到 喜欢的应用,用户要对这四个商店进行搜索,而开发者也需要通过这四个商店分发应用并获取收入。无论是对用户还是开发者而言,都会十分混乱。
相比而言,苹果则拥有一个统一的应用商店,并为用户提供最简单的使用方式以及全世界最大的应用商店,而且该应用商店已经被预装到每部 iPhone上。苹果应用商店的规模是谷歌Android Market的三倍多,而且为开发者提供了一站式服务,使之更容易进行推广,并快速得到报酬。”
------------
稍微看了一下,NDK对Android API的调用仍然要通过Dalvik,因此用NDK开发普通应用,除了增加复杂度,性能并不会比Java的应用好太多。
NDK的优势在于对OpenGL ES等底层接口的直接访问,因此full ndk的支持对游戏/多媒体开发者是有利的,他们不需要太多的android API,只需要一个Activity然后几乎所有的东西都在上面进行自主绘制。这样他们之前用C++写的应用就可以用尽可能小的改动迁移到android上了。而不需要把逻辑层面的东西用Java重新写一遍。
对于写普通应用的人,full ndk支持的意义没有那么大。
-------------
再说可以用proguard 来优化混淆某些特定的类或函数
分享到:
相关推荐
android-ndk(android-ndk-r26b-windows.zip)适用于Windows系统
android-ndk(android-ndk-r25b-windows.zip)适用于Windows系统
android-ndk(android-ndk-r25b-linux.zip)适用于Linux系统
本书顺应Android软/硬件、云计算整合潮流,详细剖析了NDK开发中涉及的各类问题和解决方案:搭建Android NDK开发环境的每一步细节,开发第一个Android NDK程序,Android NDK中Java与C/C++代码的互相调用,Facade设计...
Android NDK调用C++实现双进程守卫 本例是从博客http://blog.csdn.net/ztemt_sw2/article/details/27101681中整理出来,分享给大家参考学习。试了一下这种方法,可以实现重启进程,但用不同的机器和不同的软件杀,...
不管你是想将已经存在的原生代码应用移植到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android C++高级编程——使用NDK》一书提供的技术可以构建更出色的应用。本书将展示构建性能更好的复杂原生...
《Android C++高级编程——使用NDK》提供了Java原生接口(JNI)的概述、Bionic API、POSIX 线程和套接字、C++支持、原生图形和声音API以及NEON/SIMD优化,在一个游戏应用案例的帮助下,你将学到很多关键技能。...
Android SDK NDK API 对应关系
android-ndk(android-ndk-r25b-darwin.zip)适用于macOS系统
android-ndk(android-ndk-r23b-windows.zip)适用于Windows系统
Android允许应用开发者通过Android原生开发包(NDK)使用诸如C和C++之类的原生代码语言实现他们的部分应用。《移动开发经典丛书·Android C++高级编程:使用NDK》中我们将学习如何用AndroidNDK通过原生代码语言去...
Android允许应用开发者通过Android原生开发包(NDK)使用诸如C和C++之类的原生代码语言实现他们的部分应用。《移动开发经典丛书·Android C++高级编程:使用NDK》中我们将学习如何用AndroidNDK通过原生代码语言去...
Android-ndk-jni AES加解密 压缩文件里面有 aes加解密 .c .h 文件 还用使用方法
Android C++高级编程 使用NDK,Android C++高级编程 使用NDK
Android C++高级编程使用NDK [ Pro Android C++ with the NDK ]书源码
通过查看海量的网络资源,亲自整合,整理出了一套完备的Java开发环境配置、Android开发环境配置、Android NDK开发环境配置的全面教程。其中NDK的开发通过环境配置,再也不用进行单个文件的建立以及命令行javah进行...
android-ndk-r16b, Android studio jni开发用ndk 包. 文件为网盘地址及密码
android ndk c++ 跨语言的调用
android-ndk-r6 android-ndk-r6 android-ndk-r6
《细说Android 4.0 NDK编程》