跟随老罗的博客,试验Android

本文将探讨Android Native层的关键技术,包括使用C++编写Binder Service、理解GraphicBuffer及BufferQueue的工作原理,以及为WebView实现手势支持等内容。

做为一个混吃混喝的程序员,从2000开始到至今,就是完成公司的工作,养家糊口。一个偶然的机会,我 开始接触并使用Android native层(JNI以下)。那时的我是两眼一抹黑,都不知道Android为何物。好在有老罗的博客,让我对Android有初步的了解。内心对知识共享也是推崇备至。想着有机会,也和大家共享一些我的体会:

1) Binder:自己写一个C++的binder service,注册到service manager;然后通过Java Application访问它。GitHub上有个TimerService,client和Server都是C++的,我打算把Client改成JAVA的。为了和Android kernel的编译分开,能够直接使用make file编译,当然有如何搭建编译环境。

2) 理解GraphicBuffer。打算以ROOT过的海美迪q5四代为基础,让JAVA 应用程序产生一个Surface,传递给C++的service,service读一个YUV的文件,把数据写入从Surface取出的GraphicBuffer,这样让JAVA应用程序显示出来。

3) 进一步理解Android BufferQueue。从例子二中,我们已经接触过来Surface,其实就是BufferQueue中的producer,这次我们使用screen record来测试从SurfaceFlinger来接GraphicBuffer,然后写入一个文件。screen record来自于Android kernel,不过我们不用期中encoder和openGL部分,而是自己实现一个BufferQueueConsumer。

4) 为Java webview实现手势支持:webview不像TextureView函数,有setTransform函数,可以比较容易的支持手势。这一章代码还没有准备好,估计需要一段时间。


这一系列文件将在为了两月中完成,希望大家监督!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值