自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kevin_wz的专栏

将工作、学习之中的感悟记录于此,分享与自勉,恪守“纸上得来终觉浅,绝知此事要躬行”。

  • 博客(24)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android系统实际开发工作中的流程和必要技能

引言:做为一个Android开发工程师,结合实际项目(需要源码的系统开发)开发经验,谈谈整个流程和一些必要的技能。repo/git 项目开始,首先CI会将基线版本拉到CI服务上,同时配置好git仓、gerrit和分支,并开通相关开发人员的各种权限(代码下载、review、+2等),然后在通知开发,可以拉代码。开发人员在本地Linux服务器上,用repo下载代码:mkdir new_project_

2016-04-16 21:47:48 1904

原创 ubuntu14常见问题解决

ubuntu12的问题仍在记录,不过最近却装了ubuntu14,又遇到不少新问题,故再写一文,有些问题可能12和14都存在,就写在14这篇文中吧,因为以后14用得稍多一些。 ubuntu12常见问题解决1、为home目录单独分区。 问题:新电脑发现有/目录下分区只有200G,还有一个200G分区sda6居然没有使用,被挂载到/media下,当作u盘,于是决定将其挂到/home下。 解决:备份原

2016-09-04 16:47:50 816

原创 高质量程序好文分享之王垠《编程的智慧》

今天有幸读到了王垠博文《编程的智慧》,突然有一种知音得遇、相见恨晚之感。文中诸多观点自己非常赞同,这些观点的形成绝非易事,需要经过大量的实践编程,反思总结和得到大牛的指点云云。 编程中与我契合之极的一个词:优雅。是的,能够写出优雅的程序是我一直所追求的,什么性能、高质量编程完全可以用优雅二字概括,甚至可以从这二字中看出一个程序员的从容自信的性格。 这里将分享文中一些观点: 王垠《编程的智慧》原

2016-07-30 16:35:53 3238

原创 (精)戏说高质量代码

对于什么高质量程序可谓是仁者见仁,智者见智,今天也说说我理解的高质量程序。以下人物和场景均为假想,请勿对号入坐。1. 正确、稳定运行。 2. 架构清晰、可扩展性强。 3. 可读性强,有必要的注释,代码风格保持一致。这三条必须按其顺序排列,第一条看似简单,其实非常的难。 就以一小公司GS为例,公司初创,要为一套仪器紧急开发程序,为了控制成本,直接外包出去,当外包人员开发出代码v1.0时,能

2016-07-21 23:57:30 722

原创 Android 应用开发环境搭建

想起以前上学时候,MFC开发可谓红极一时。尤其是vc6.0这个工具,安装完毕之后,不但可以进行常用的console开发,也可以进行带界面的MFC开发,简单好用。 而今对于Android应用,开发环境需要小心配置,弄大半天可能连一个helloworld的界面程序的写不出来。今晚在ubuntu12上搭建了ADT和Android Studio,有些心得,分享一下。对于ADT和Android Studio

2016-07-20 23:26:15 634

原创 Android M6.0指纹框架概要

指纹识别与应用不算是什么新鲜事,很早之前各种书籍就介绍指纹识别算法。但是其在Android移动终端上的实现及应用却是个新鲜玩意,这和iPhone有不少差距啊,还好6.0正式推出指纹框架。指纹识别与应用的确有不少优点,用过iphone的人都知道指纹识别对于解锁、应用下载甚至是付款来说,都非常方便。一般来说,其核心有3点:一是指纹芯片的研发与支持(包括芯片采集能力、识别算法等)。二是基于指纹框架的

2016-07-16 00:55:08 3550

原创 stagefright框架下的awesomeplayer播放准备阶段

前文分析了AwesomePlayer的setDataSource阶段,对于已经分离好的音视频数据,下一步就是为其设置解码器,这一阶段称为 prepare。直接从AwesomePlayer::prepareAsync()开始,status_t AwesomePlayer::prepareAsync() { return prepareAsync_l();}status_t Awesome

2016-07-12 23:10:29 386

原创 stagefright框架下的awesomeplayer设置数据源阶段

Android的MediaPlayerService下一个重要的框架就是stagefright(演讲胆怯者),在它之下就是具体的播放器了。与其关系同等的是NuPlayer,本文将分析stagefright常规框架和一些关键技术。先看几个类的关系:class MediaPlayerBase : public RefBaseclass MediaPlayerInterface : pu

2016-07-10 23:45:16 645

原创 Android多媒体之MediaPlayerService

如同其它service一样,MediaPlayerService在Android架构中起着承上启下的作用。向上提供media相关的api,向下调用其它框架(opencore、stegefright)具体实现相关功能。  涉及到代理到MediaPlayerService的IPC在前文已经分析过了,所以这里重点讨 论实现。如apk调用setDataSource,经过Binder IPC会调用到Medi

2016-07-10 14:17:30 895

原创 Android多媒体研究之mediaservice

多媒体和网络在Android中占有举足轻重的地位,网络的重要性不必说,后有文分析。这里主要是面向消费者的多媒体,包括音频、视频、图片、动画等。可谓是传媒和各种算法的宠儿,同时在流媒体中还涉及到网络,因此多媒体与网络的交互将是研究的重点。还是利用源头分析法,从init进程开始,init.rc中启动mediaserverservice media /system/bin/mediaserver

2016-07-09 23:03:29 2477

原创 Android init进程一些容易忽视的技术细节

Android init进程作为用户空间第一个进程,做了很多系统初始化工作,其核心分为两块:一是属性,二是init.rc。此外,在具体的项目过程中,常和init进程打交道,里面有不少技术细节值得我们研究清楚。属性key-value大小限制bionic/libc/include/sys/System_properties.h#define PROP_NAME_MAX 32#

2016-07-08 23:18:44 1739

原创 读《我是一个网卡》有感

这两天读了《我是一个网卡》这篇文章,很有感触,幽默的语言,准确的知识,形象而生动的说明了上网的大致流程,对以后的源码级分析做个铺垫吧。网络知识博大精深,从硬件到操作系统,再到各种协议、应用,给人一种望而生畏之感。《我是一个网卡》以通俗的方式粗略的讲了上网这一过程:网卡硬件 -> 网上驱动 -> DHCP (获取本地IP) -> 广播 -> 路由+DNS -> ARP(获取远端MAC) -> TCP

2016-06-22 23:03:56 949

原创 Ubuntu12常见问题解决

在使用Ubuntu linux操作系统时,经常会遇到各种问题,在此记录以供查询。1、rdesktop无法远程Windows7 现象:可以ping通Win7系统ip,但输入rdesktop win7IP后,无反应一段时间,提示”unable to connect”。 解决: a) 确保Win7系统3389端口处于listening状态。 netstat -an | findstr 3389

2016-06-16 23:32:07 675

原创 Android/Linux根目录下常见目录作用

当adb shell进入Android系统内部后,ls会看到根目录下出现不少目录,如dev、sys、mnt等目录,对于这些目录的作用常常让人模棱两可,有必要对其学习了解。首先要明白目录也是一种文件,根目录下的这些文件属于根文件系统的范畴,每个文件都要其重要的作用。/bin 包含基本的命令,通常该目录下的文件都是可执行的,也有可能是一个busyboxr的软链接。主要用于系统初始化,常见的有cp、m

2016-06-04 00:22:58 3198

原创 偏爱的vim配置

在linux/android开发过程中,鼎鼎大名的vim的使用必不可少,所谓“工欲善其事,必先利其器”,这里谈谈自己偏爱的vim配置。对于vim配置,我主张实用即可,同时要考虑兼容性,最好是用官方给定的一些包,不必过分追求华丽,虽然我心里也喜欢那些华丽的配置。 1、语言编码设置"===============1: file encodeing===============set encodin

2016-05-29 22:31:31 425

原创 内核态到用户态切换(二)

引言:(一)分析了0号进程(任务0)、内核线程、用户线程相关问题,有了这个铺垫,开始本文的分析。3)如何从内核空间切换到用户空间去的?假设1号进程(内核态)init中已ramdisk_execute_command已传入,毕竟是要分析android系统的。static int __init kernel_init(void * unused) { if (!ramdisk_execute_

2016-05-22 16:20:18 4128 1

原创 内核态到用户态切换分析(一)

引言:本文主要分析从内核态到用户态的切换,同时理清内核线程、用户空间进行之间的关系。内核进行一系统初始化后,会进入到rest_init,首先会产生一个kernel_init的内核线程,最终切换到用户空间的init进程,从而开始了用户空间初始化流程。先看下rest_init函数,static noinline void __init_refok rest_init(void) __releas

2016-05-15 23:56:41 5333

原创 虚拟根文件系统与真实根文件系统

引言:根文件系统的noinitramfs已经分析,继续上文未完的initramfs和Android根文件系统分析,这两者有什么关系?1.initramfs对于initramfs,kernel 2.5开始引入,其实质是在内核镜像中附加一个cpio包(cpio一个用于备份、还原的工具,主要用于cpio和tar文件),在该cpio包中包含了一个小型的文件系统。当内核启动时,会尝试解开这人 cpio包,并且

2016-05-05 09:21:21 3775

原创 根文件系统(rootfs)梳理

引言:在linux系统中,一直对根文件系统理解得模棱两可,是时候彻底梳理一下了,包括根文件系统是什么 、如何初始化、如何应用及Android系统中的根文件系统等问题。首先要弄清楚根文件系统是什么?以下英文部分摘自 Kernel_2.3.6\Documentation\filesystemsramfs-rootfs-initramfs.txtWhat is rootfs? Rootfs is a

2016-05-04 14:23:44 11020

原创 Android系统内核引导流程梳理

引言:

2016-04-24 23:09:41 1103

原创 x86 linux系统内核引导流程梳理

引言:在上节提到双系统关键技术之一关于系统启动问题,即在执行内核代码前做了些什么?是怎样从汇编代码过渡到c代码执行?arm芯片和x86芯片启动有什么不同?ram, sram, rom,prom, flash, nor flash, nand flash, fastboot,xloader, bootloader,uboot等有什么区别和联系?结合这些问题去研究,这里推荐赵炯的《Linux内核完全注

2016-04-24 16:18:36 2705 1

原创 Android双系统之基本问题研究

序:近年来Android智能手机已成为人们生活的一部分,随着Android手机功能的日益丰富,它正在改变不少行业的办公模式。尤其是在警察、海关、银行等行业,移动办公显得尤为迫切。如通过手机接入专有网络,进行各正信息的上传和下载。这样在工作和生活中,至少各需一个手机,放两个手机在身上似乎有点显得不够便捷。因此,Android双系统得以应运而生。一、双系统所面临的问题上边提的双系统

2016-04-18 22:08:42 2821

原创 从Android开发谈谈对编程语言的看法

引言学生时代学习编程总喜欢讨论哪种编程语言最好,各抒己见,有时候争得面红耳赤,常见的语言都有它忠实的粉丝,包括汇编,语言之争一旦开始就再未停止过。。。尤记得自己当时力挺c++,认为它是极好的语言,在性能与对象模型做了一个平衡。中国历来推崇中庸之道,所以c++的优点可以被提升到一个很高的层次。到现在我依然认为c++即使它有很复杂的语法,而且不支持动态特性,却是我用过最优雅的语言,没有之一。但是,在工

2016-04-17 23:01:12 1715

原创 工作感悟之Android系统开发入门

从离开学校到工作快两年了,这期间感悟良多,喜悦、悲伤、希望、失望、、、总的说来在曲折中不断前进,相信乘风破浪会有时,直挂云帆济沧海。    从事Android有些偶然因素,原始打算做WPF相关的开发,或是C#方面的,之前也做过MFC相关的编程,对嵌入式编程也有所了解,总的来说,主要在Windows平台上,基本算上微软的忠实跟随者。但因各种机缘巧合,开始了Android开发之旅,这一开始却感觉已

2016-04-15 20:26:13 6664 1

Java编程思想第四版完整中文高清版.pdf

java编程必备,高清版

2016-08-29

(高清版)DIRECTX 9.0 3D游戏开发编程基础

曾买的高清版图书《DIRECTX 9.0 3D游戏开发编程基础》,现共享出来

2016-04-16

(高清版)编译原理中文版

曾花钱买的高清图书编译原理,对程序员内功提升有不少好处。

2016-04-16

网络通信示例源码

关于网络通信的各个方面 里面包含了3到12章 如果代码中有任何问题,请联系原作者:busywxp@msn.com、zhjuna@msn.com

2012-05-21

组合数学的算法与程序设计

写算法的可以看下 里面提出了各种算法理论 鸽笼原理 容斥原理 ramsey理论 母函数 递归 polya原理 线性规划等

2012-05-21

餐饮管理系统原码(全)

代码请自己复制出来,直接打开工程有些问题,不过代码绝对没问题

2012-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除