从事android开发一年来,在andorid领域突飞猛进。

说说几大收获。

1.andorid基本上就是建立在binder机制上,来实现模块与模块之间的通信。

所谓的service,activity,provider,receiver四大金刚之间的通信都是通过binder进行的。

对客户端来说,binder本身是一个int。

对于服务端来说,binder是一块内存地址。

从客户端的binder转换到服务端的binder的过程是在内核中实现的。

2.android输入输出这一块底层采用的是 管道+共享内存的方式实现进程间的通信。从而将事件从驱动层过度到各个window。

3.android的View这一块采用经典的树状结构。用了一些设计模式,效率较低。这个比较简单。就不说了。opengl本身已经使用了双缓冲。所以双缓冲在android中的概念已经不存在。多级缓冲的效率并不高,所以也就不要再使用了。

4.Surface这一块。一个window对应一个surface。而一个surface仅仅存在于客户端。在服务端叫做layer,layer是通过共享内存的方式实现的,这样就可以达到服务端和客户端的缓冲区共享起来。一共8M。使用那一部分,主要是由offset和size决定。

5.关于特效等的制作都是matrix在作怪。学习矩阵和openGL是做特效的基础课程。不管中间经历了什么。从本质上来说,都是一个二维图形,到一个二维图形的映射。我们肉眼看到的东西始终是二维的。这是本质属性。

所谓的3D,也只是一种视觉欺骗罢了。照相机本身出的图实际上就是3D的。

6.明年准备涉入jni这一块。对于openGL的深入理解是打通android图形的关键所在。egl之类的库也是很重要的东东。

android开发年总结相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. java安卓开发工具_推荐几个非常实用的Android开发工具

    工欲善其事,必先利其器.我们进行Android开发也要有好的开发工具辅助才能更好更高效的完成各种开发,为用户提供更实用的应用程序.本文就为大家推荐几个非常实用的Android开发工具,及几个常用的编辑 ...

  3. android 网络编程实现,Android开发使用HttpURLConnection进行网络编程详解【附源码下载】...

    本文实例讲述了Android开发使用HttpURLConnection进行网络编程.分享给大家供大家参考,具体如下: --HttpURLConnection URLConnection已经可以非常方便 ...

  4. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  5. 2017-2018-2 20165236 实验四《Android开发基础》实验报告

    2017-2018-2 20165236 实验四<Android开发基础>实验报告 一.实验报告封面 课程:Java程序设计       班级:1652班       姓名:郭金涛     ...

  6. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  7. indows上的android开发环境软件架构5

    (二)实验要求: ? 修改按下button 显示的内容中添加上自己的学号姓名: ? 添加一个按钮,按钮名称为"退出",并且为这个按钮添加事件代码,使得点击这个按钮后退 出程序.事件 ...

  8. 折叠屏就要来了,适配逼死 Android 开发?

    1. 异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发. 北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机.并表示,新技术需要开发者调整其 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

  10. FlashDevelop Android开发.md

    2019独角兽企业重金招聘Python工程师标准>>> FlashDevelop Android 开发 > author: gwang(wanggangzero@qq.com) ...

最新文章

  1. [Android Pro] ant 编译android工程
  2. 周末狂欢赛4(1-02E. JM的西伯利亚特快专递,寿司晚宴,荷马史诗)
  3. 基本SQL命令-您应该知道的数据库查询和语句列表
  4. pythonbool类型数组生成_对numpy中布尔型数组的处理方法详解
  5. 【视频技术】ffmpeg截取图片(Mac)
  6. Android报错:FAILED:_nl_intern_locale_data: ?? ‘cnt < (sizeof (_nl_value_type_LC_TIME)
  7. linux关闭邮件提示错误,LINUX命令关闭 You have mail in /var/spool/mail/root邮件提醒功能...
  8. MP算法和OMP算法及其思想与实现
  9. html怎么做一个正方形,使用HTML+CSS做一个正方体
  10. coreldraw2022直装版下载 永久免费使用 附安装教程( 仅限 win 10 用户 )
  11. Shell 脚本正则表达式(一)
  12. 物联网产业前景看涨然5大挑战在眼前
  13. u盘文件删去了怎么样找得回来
  14. 亵渎小说介绍_亵渎行不通
  15. 23种设计模式-单一原则
  16. 阿里云ECS共享型n4服务器1核2G怎么样?
  17. python基础九 函数(中)作用域、命名空间、递归函数
  18. M1 Mac 即将可以玩到更多 Switch 游戏
  19. Windows 7文件权限工具 v1.0
  20. android sqlcipher github,Android应用开发Android 数据库加密 SQLCipher使用方法

热门文章

  1. stream filter_Stream 流实践
  2. micropython 模块_MicroPython添加Module(一)
  3. Linux发布环境,linux发布环境初始化脚本
  4. 如何处理win10系统内置Linux系统闪退问题
  5. wordpress 常用函数-wpdb类
  6. 让Python不在mac的dock上显示火箭图标
  7. Mysql无法创建外键的原因
  8. oracle 12c 13姨
  9. Android自己定义组件系列【2】——Scroller类
  10. Eclipse常见问题集锦