设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开发经验:Android高手必看的十个建议

2011-1-23 15:53| 发布者: joejoe0332| 查看: 5079| 评论: 0|原作者: 中国手机开发网|来自: 中国手机开发网

摘要:   1、Q:如何成为高手?   A:成为一名真正的Android高手必须掌握和遵循的一些准则:   1)学会懒惰   aDon't Reinvent the Wheel(不要重复发明轮子)。   bInventing the Wheel(发明轮子)。   cDon't Rein ...
  6、Q:Android bionic移植需要注意的事项
  A:下面通过一个例子来说明移植binic需要做的事情(BIONIC使用的内核头文件从2.6.29 升级到 2.6.31):
  1)修改之前,先要备份 android/bionic
  2)按照下面方法复制linux kernel v2.6.31 头文件:
  复制 include/asm-generic 到 bionic/libc/kernel/original folder
  复制 include/linux 到 bionic/libc/kernel/original folder
  复制 include/mtd 到 bionic/libc/kernel/original folder
  3)运行 tools/update_all.py 脚本,生成新的头文件,方法如下.
  $ cd android/bionic/libc/kernel
  $ tools/update_all.py
  以上的操作将复制新的头文件到 bionic/libc/kernel/common 目录
  4)删除 bionic/libc/kernel/original 目录
  5)复制平台相关的头文件:
  复制 linux v2.6.31 平台相关的 asm 目录到指定的路径,方法如下:
  复制 arch/arm/include/asm 到 android/bionic/libc/kernel/arch-arm/
  复制 arch/x86/include/asm 到 android/bionic/libc/kernel/arch-x86/
  6)从 v2.6.29 bionic/libc/kernel/common/linux 复制一下的头文件到新的 android/bionic/libc/kernel/common/linux 目录:
  android-alarm.h
  android-pmem.h
  android_power.h
  ashmem.h
  binder.h
  msm_adsp.h
  msm_audio.h
  msm_mdp.h
  keychord.h
  7)编译
  $ cd android
  $ make -j4
  7、Q:Android源码下vendor目录下文件的作用?
  A:指的是某些公司的产品型号,主要是一些针对硬件配置的东西,比如radio 方面的,若是采用TI 的,这里面会有TI提供的一些RIL方面的接口等。
  8、Q:编译Android源码和编译Android内核有什么区别?
  A:其实没什么区别,就多了几个android特有的驱动,最重要的是binder
  9、Q:如何获取手机和存储卡上的图片?
  A:
  /**
  * 通过uri获取文件的绝对路径
  * @param uri
  * @return
  */
  protected String getAbsoluteImagePath(Uri uri)
  {
  // can post image
  String [] proj={MediaStore.Images.Media.DATA};
  Cursor cursor = managedQuery( uri,
  proj, // Which columns to return
  null, // WHERE clause; which rows to return (all rows)
  null, // WHERE clause selection arguments (none)
  null); // Order-by clause (ascending by name)
  int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
  cursor.moveToFirst();
  return cursor.getString(column_index);
  }
  复制代码
  10、Q:如何使用双缓冲?
  A:系统自身已经实现了双缓冲,也就是说为了避免重影,必须连续onDraw两次,或者是对上一次onDraw里面画脏的部分进行修复。
  执行Bitmap.createBitmap函数一般要花销100-300ms的时间,要想提高它的效率,只能祈祷google能把android的代码写得更高效一些了。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部