最近在学NDK相关的知识,本来Kotlin的学习,是被计划在后面的,因为暂时项目中也没有用到,担心学了估计很快就忘记。在某次写小demo代码做测试的时候,就在想,都是简单的语法,如果拿来做Kotlin的练手也是蛮不错的。
另外就是,现在Google官网上的代码实例,都贴上Kotlin实例了,github上新的开源框架,也很多用Kotlin,看来google是认真的了,Kotlin必学不可了。
刚好遇到国庆,除去出去玩还剩2、3天在家,那就立马把Kotlin学起来
NDK(三):静态库和动态库
计算机的发展,离不开前人的一点点积累,让我们可以直接使用别人的轮子进行快速开发。库存在的意义,就是避免重复造轮子,对于开发好的重复可用的代码,就直接封装为库。
库一般分为两大类,一类是动态库,一类是静态库。
NDK(二):JNI与Java回调以及静动态注册
上篇文章NDK(一):编写第一个JNI项目,讲到了怎样用Android Studio创建一个项目去编写JNI代码,接下来,就具体介绍JNI与Java之间的调用。
包括简单的参数传递回调,创建pthread线程,以及静动态注册台风“山竹”的到来,导致哪里都去不了,待在家终于把这篇文章码完!
Mac上交叉编译ffmpeg For Android
介绍通过mac os系统编译给Android平台上可以使用的ffmpeg静态库。
NDK(一):编写第一个JNI项目
平时在开发中,或多或少都会用到JNI方面的技术,比如我们项目中,消息的加密和解密就是通过C来实现的,然后打包为.so动态库,并提供Java接口供应用层调用,这么做的目的主要就是为了提供应用的安全性,防止被反编译后被分析加密的逻辑。
接下来就要介绍JNI和NDK的区别,怎样创建一个项目开发JNI。
Xcode安装配置ffmpeg开发环境
在Mac平台上,下载安装ffmpeg
配置ffmpeg在Xcode的开发环境
UML类图和时序图
在做功能比较复杂的项目模块的时候,为了理请代码的逻辑,方便以后对接的同事方便查看,一般会整理一下流程图、类图和时序图。
发现自己在画图的时候,有时候不太记得类图的个别图示,就整理一下输出了这篇文章。
《深入理解Java虚拟机》十三:线程安全与锁优化
为了”压榨“计算机运算能力,可以让程序高效并发的执行,但需要保证并发的正确性,然后在此基础上实现高效。
《深入理解Java虚拟机》十二:Java内存模型与线程
Java虚拟机定义了一种Java内存模型来屏蔽掉各种硬件和操作系统内存的内存访问差异,实现各种平台下达到一致性的内存访问效果。
《深入理解Java虚拟机》十一:晚期(运行期)优化
Java程序最初是通过解释器进行解释执行的,当某段代码(称为“热点代码”)运行特别频繁,为了提高效率,在运行时,虚拟机通过即时编译器(JIT)把这些代码编译成与本地平台相关的机器码。