Android NDK 最佳实践(0)

翻译自:http://ndkinfo.vleu.net   ps:英语四级没过,基本按大意翻译,尽量不在重要的地方曲解原文的含义,其他形容性的词汇可能带有自己主观理解的色彩,轻喷。如果英文好可以直接去看原文。 也希望发现翻译有问题的同学能告诉我错误所在,多谢。

欢迎

正如大家可能注意到的,native安卓开发不是一件很简单的事。才华横溢的开发者们发布了很多库(libraries),但是这些库都是按照一个整体的方式发布的:为了使用这些库,你必须fork这个开发者的代码仓库,而这个仓库本身又fork了许多其他的项目。

更糟的是:一旦上游添加了对安卓的支持,他们倾向于使用需要硬编码的相对路径,这种不稳定的方式。

这很令人沮丧,尤其是因为NDK本身包含了一种清晰和可靠的方式打包库的特性:requered bricks. 好,在我们再一次结束自动配置(autoconf)的噩梦前,我想要提出一种统一的打包库的方式,以便来简单的编译安卓平台的 FOSS 软件。

从基本上来说,这些简单的集合使用NDK中已经存在的机制来提供功能,就像是Linux系统上的那些pkg-config。

有空研究一下vector的insert操作的效率(C++)

参考:http://stackoverflow.com/questions/15009442/c-push-back-vs-insert-vs-emplace

有时候会使用std::vector<char>作为buffer,很好用,但是经常担心insert的效率,通过参考页看出insert的效率貌似是最高的了。但是注意到insert的时候并不知道插入数据的总长度,操作时会先获取总长度,需要检查这个获取长度的操作是否快。如果不快,如何能从外部直接传入插入数据的长度呢?  如果有人已经有结论了可以在评论里交流。