- 博客(38)
- 资源 (5)
- 收藏
- 关注
原创 Apache Cordova-Android框架原理研究笔记 II
上一篇笔者简要分析了Cordova从JS端->Native端的调用过程(以JS Object桥为例)。本章让我们来分析下这个过程的反面,也就是从Native端->JS端,Cordova是如何处理的。老习惯,我们先看一段代码: exec.jsnativeToJsModes = { // Polls for messages using the JS->Native bridge.
2016-04-01 16:30:58
2301
原创 Apache Cordova-Android框架原理研究笔记 I
由于工作原因,笔者对于所谓的Hybrid、Webpp开发模式产生了浓厚的兴趣。老习惯,笔者对于Apache Cordova(PhoneGap)框架进行了一番研究,小有收货,特此记录下来。先看一张图,这是官网上对于Cordova总体框架架构的描述: 第一部分:Cordova Application是Cordova框架独立于不同手机操作系统的一个封装层。具体包括 1)Web app(包括具体的a
2016-03-31 18:03:39
8512
原创 Android漫游记(6)---APP启动之旅(I)
我们从Kernel层简单说明: 1、Kernel层:基于Linux2.6+内核,同时做了一些嵌入式环境做了一些针对性的优化调整。 2、Libraries层:包括Bionic C库,以及HAL(硬件驱动接口抽象)等API。 3、Android Runtime(ART)层:包含核心应用库和Dalvik虚拟机。 4、Application Framework层:纯JAVA的API框架,包括Activity Manager和Windows Manager等。 5、Applic
2014-07-15 17:37:15
4623
翻译 Android漫游记(5)---ARM GCC 内联汇编烹饪书(附实例分析)
关于本文档 GNU C编译器针对ARM RISC处理器,提供了内联汇编支持。利用这一非常酷炫的特性,我们可以用来优化软件代码中的关键部分,或者可以使用针对特定处理的汇编处理指令。 本文假定,你已经熟悉ARM汇编语言。本文不是一篇ARM汇编教程,也不是C语言教程。
2014-06-24 17:43:48
5883
原创 Android漫游记(4)---.so文件动态调试一例
Android平台的动态调试一直以来是个困扰我等Coder的头疼问题,特别是对于本地的动态调试支持,可以说是“弱智”级别的,不知道Google的新版NDK和新出的Android Studio对这块支持如何,让我们拭目以待。 言归正传,我这里采用的是cygwin+ndk-gdb的调试模式,灵感来自于XDA的一篇博文(点击打开链接),平台和原文作者不同:
2014-06-21 12:14:36
24235
原创 Android漫游记(3)---重定位之GOT & PLT & R_ARM_JUMP_SLOT
Android系统的动态链接工具是/system/bin/linker(一般的Linux系统是ld.so),虽然名字不同,但是基本的动态链接过程是类似的。需要注意的一点是,Linux一般是Lazy,即所谓的“懒”加载方式,但是Android系统有点区别,是非Lazy方式,即所有的重定位操作,在进程首次执行以前已经全部完成。这大概也是Android应用首次启动比较慢的原因之一吧! 关于Android系统的PLT和GOT可以写上一篇高考作为,在这里就不提概念性的东西了,网上有一篇博文:http://ww
2014-06-09 18:27:51
8529
原创 Android漫游记(2)---ELF可执行文件格式
ELF是类Unix类系统,当然也包括Android系统上的可执行文件格式(也包括.so和.o类文件)。可以理解为Android系统上的exe或者dll文件格式。理解ELF文件规范,是理解Android系统上进程加载、执行的前提。下面我们就来一步步了解这ELF到底是个啥玩意儿(以Arm 32 ELF格式为主)!当然,网上关于ELF的介绍已经非常多,最好的手册还是直接看ELF官方的手册,我这里只是对ELF的文件做个纲领性介绍,然后直奔主题,比如.GOT .PLT或者R_Arm_Jump_Slot,R_Arm_R
2014-06-07 18:39:16
8145
原创 Android漫游记(1)---内存映射镜像(memory maps)
Android系统内核基于Linux2.6+内核,因此,其在进程内存管理方面的很多机制和Linux是很相像的。首先,让我们来看一个典型的Android进程的内存镜像(App进程和Native本地进程略有差别,但原理是一样的):和Linux一样,Android提供了基于/proc的“伪文件”系统来作为查看用户进程内存映像的接口(cat /proc/pid/maps)。可以说,这是Android系统内核层开放给用户层关于进程内存信息的一扇窗户。通过它,我们可以查看到当前进程空间的内存映射情况,模块加载情况以
2014-06-07 12:10:06
14834
原创 Media-媒介(媒体、介质)【译】
Media-媒介(媒体、介质) Android支持定制的媒介解码器,需要将定制的解码器接口暴露给框架。 Android针对集中常见的媒介格式,提供一套本地的解码引擎-Stagefright。Stagefright提供音频和视频播放功能,包括OpenMax解码交互、会话管理、时间同步渲染、传输控制和DRM。此外,Stagefright可以集成针对特定硬件的解
2013-10-29 15:04:25
6355
原创 Android系统底层架构【译】
Android系统底层架构 设备移植 Android提供了设备移植和支持方面有较大的自由度,可以制定自有的设备规范和驱动。通过硬件抽象层(HAL-Hardware Abstraction Layer),可以在底层硬件驱动和上层平台之间建立关联(Hooks)。Androind通过自身的开源性,来支持各种类型的设备发展。 为了确保你
2013-10-25 11:27:52
17595
原创 开始,就是未来--------迎风飞扬,遇见未知的自己
也许是真我仅存的一点觉知之光,让我遇到了德芬老师的《遇见未知的自己》,当晚便深夜阅读。读毕合书,思绪万千! 人生三十载,我早已不是当初的我。人世的沧桑早已铭刻下深深的痕迹。所谓真我,不过是苟延残喘的活在深深的“包裹”之下,也许仅剩下些许的微光。 通过“连接”、“臣服”、“定静”和“觉察”突破“小我”的种种束缚和障碍,让真我的“爱、喜悦和和平”之光照亮人生。
2012-04-18 11:31:39
1188
原创 遇见未知的自己(五)-冲破“身份认同”的屏障
冲破“身份认同”屏障的方法-觉察小我的虚假认同并“解离”1、凡是你抗拒的,都会持续,要学会顺其自然和臣服;2、身份认同的结果-胜肽,小我对胜肽的“瘾”会驱使我们满足自我的胜肽需求;3、我不是我的房子、车子、事业,这些只是小我的虚假认同;自我“修行”1、定静是检视自我,觉察虚假身份认同的良药;2、觉察小我的虚假认同和随之的“胜肽”需
2012-04-18 10:50:08
1184
原创 遇见未知的自己(四)-冲破思想的屏障
冲破思想屏障的方法-“定静、检视”我们的思想1、“亲爱的,外面没有别人,所有的外在事物都是你内在投射出来的结果”;2、接受了这么多的应该和理想,我们于是产生了很多的信念、价值观、态度、标准,来约束自己,也来衡量、批判他人。这些就是我们每日所想所想的基础,可是我们从来不去检测我们思想的正确性;3、A(事件)---》B(信念、想法)---》C(结果);自
2012-04-18 10:37:46
881
原创 遇见未知的自己(三)-冲破情绪的屏障
冲破情绪屏障的方法-臣服于“事实、当下”1、我看见我在寻求失败、颓废的痛苦感受,我全心地接纳这种感受,并且放下对它的需要;2、所有发生在我们身上的事件都是一个经过仔细包装的礼物,只要我们愿意面对它有时有点丑恶的包装,带着耐心和勇气一点一点低拆开包装的话,我们会惊喜地看到里面珍藏的礼物。3、臣服的好处就是,当你接纳了当下,不徒然浪费力气去抗争的时候,事情往往会有意想不到的转机出现,你
2012-04-12 17:29:43
1396
原创 遇见未知的自己(二)-冲破身体的屏障
冲破身体屏障的方法-与身体“连接”健康的“身体”-与身体对话,倾听身体的回应1、饮食2、腹式呼吸3、瑜伽4、健走自我“修行”1、早7点起床-健走、有氧呼吸、慢跑2、饮食规律、卫生3、改变吸烟、长时间游戏等习惯
2012-04-12 11:43:16
1337
原创 我的2012
段一:2011就这么消失,在时间的飞逝中,我们只能选择追赶。有个笑话说,生命就是一坨屎做成的“蛋糕”。你要么仍收着屎的味道,要么努力想象中“蛋糕”的香甜。又有人说,生命像是一出戏,我们努力的扮演着各自的角色。小丑在舞台上留着泪的逗笑着,默默等待着曲终人散时孤灯下的寂寞香烟。励志学者告诉我们,生活像一面镜子,你对他微笑,他就会回报你微笑;你对他哭泣,他会流着泪对你------因此,你
2012-01-03 11:13:18
869
原创 Android入门-Hello World
Android Hello World实例介绍一、安装开发平台和工具1、Android SDK安装;2、Eclipse(ADT Plugins)安装;二、AVD创建打开Android SDK And AVD Manger,创建一个AVD(And
2011-09-21 17:21:59
6743
原创 人生十年-其五
人生最重要的不是明天你会拥有什么?而是今天你正在经历着什么,因为每一个今天都是曾经的明天!请记住,活在当下!一年计划:1、生个健康的娃;2、力争减肥到140斤;3、工作上:团队稳定管理、建设;结合公司业务,研究感兴趣的技术课题并应用;
2011-09-07 16:55:46
667
原创 人生十年-其四
如何去度过这一生?人生需要智慧,聪明难糊涂更难!有些人的所谓“聪明”反而会成为一种人生的棘绊,这算是上帝的一种反讽和嘲弄么!人生需要灵性和柔性!太过于直来直往的性格和人生观,很容易在某一个转弯的角落折断!而这些灵柔的性格因素,来自于自身对于人生的领悟和智慧
2011-08-26 11:23:34
872
原创 人生十年-其二
<br /> 11年1月18日,迎来了新年的第二场雪。早上醒来,打开窗户望去,一片雪白的天地。心情仿佛顿时被净化,变动空灵而静逸。<br /> 这十年,仿佛一直有另外一个我,在拷问我。人究竟生而何为?生活越来越好,钱也挣得越来越多。却为何,你从不微笑?很多人说,钱,真的不重要,至少与人生的意义无关。每次听到这句话,我总近乎偏执的在心里说:撤他妈的蛋,没钱,一切都瞎掰。似乎,这个话题,永远没有尽头。在如今这个以“钱”来衡量价值的时代,钱成了成功,钱成了快乐,钱成了一切。<br /> 但,真的吗?真
2011-01-18 10:25:00
629
原创 人生十年-其一
<br /> 还记得谭校长的“爱在深秋”,尤其在这么个深秋初冬的时节来听,更有feeling。转眼10年又即将划过最后的一个篇章,下午开窗,透过办公室看出去,屋外一片秋日暖意。依稀记得01年懵懂如我踏上南下火车时的心情。第一次离家,第一次出省,第一次离开恋人和朋友......独自,怀揣着模糊的“理想”和对于未来不确定的一个莫名的“兴奋”。和一起怀揣梦想的同学们,踏上了那趟南下的列车。<br /> 第一次体验观澜湖畔的“波涛汹涌”,第一次和同寝室的兄弟无聊的抽烟聊女人,第一次被领导找去
2010-11-22 14:05:00
967
原创 不能承受的生命之轻
恍如隔世的一周,恍如梦境的一生。只是曾经在小说或者街头巷尾的吵闹中,偶尔感触到人生的变幻无常。有些无奈、有些苦涩,但却如此真实。真实的可以感受到那种撕心的痛。如果这次的梦中人,不是我自己,我为何如此真切的体验着,哭着。生命,在此刻,此时此地,变得如此的不堪一击。轻的似乎没有了一点重量。我仿佛看到造物,在头顶灰色的某个地方,笑笑的看着我,说:生命在我看来只是一根羽毛、一粒尘埃。如
2008-04-17 12:05:00
1306
翻译 Spring参考手册-第三章 IoC容器-3.3 依赖
3. 3 依赖你的典型的企业应用不会只有单一的对象(spring中叫做bean)组成。即使是最简单的应用也至少会有一系列的对象组成,它们共同协作、装配成面向用户的统一应用。下面的部分将会介绍你如何组装单独的定义的bean来形成一个完整的应用(应用通常都是为了实现最终用户的某个特定目标)。3.3.1依赖注射依赖注射(DI)的基本原则是:对象在从构造器或者工厂方法返回时,通过构
2006-11-16 15:33:00
1682
翻译 Spring参考手册-第三章 IoC容器-3.2 基本概念-容器和Beans(豆子)
为什么叫做Bean? 使用‘bean’这个名字的原因是因为在Spring框架中已经使用了‘componet’和‘object’这些基本概念名称,另外也是由于EJB的复杂性,所以在类似的起了这个名字。
2006-11-08 16:11:00
1450
翻译 Spring参考手册-第三章 IoC容器-3.1 绪论
选择哪个接口? 在某种特定的应用中,很多用户不能确定是使用BeanFactory还是ApplicationContext。通常情况下,当建立一个J2EE环境下的应用时,最好的选择是ApplicationContext,因为它提供了所有BeanFa
2006-11-06 15:34:00
898
翻译 Spring参考手册-第Ⅰ部分 核心技术(Core)
参考手册的开头部分已经简要介绍了Spring框架的所有技术特性。这些技术特性中首先要说的是Spring框架的控制反转容器(IoC Container)。关于IoC容易的详细介绍在AOP技术部分有详细、完整的介绍。Spring框架有自己的AOP框架,该框架易于理解,对于JAVA企业级编程来说,它支持80%的应用需求。Spring对于AspectJ也提供了良好的支持。(Ase
2006-11-06 15:30:00
889
翻译 Spring参考手册-第二章 Spring2.0中的新特性
JDK支持: Spring框架支持包括JDK1.3在内的所有JDK版本,JDK1.3、1.4和1.5均支持,但如果使用JDK1.3的话,某些Spring的高级功能可能无法使用。
2006-11-03 11:21:00
1776
翻译 Spring参考手册-第一章 绪论-1.2使用场景
1.2使用场景使用上面说到的各类模块,你可以在各种场合使用Spring的事务管理和Web框架实现包括从Applet到企业级的各种应用。典型的完全特性的Web应用架构图 使用Spring的“事务管理特性”,Web应用是完全的事务化的,提供类似于EJB的基于容器的事务管理。你所有的业务逻辑可以用简单的POJOs来实现,而它们由Spring的IoC容器管理。此外,还包括对于发
2006-11-01 16:08:00
1370
翻译 Spring参考手册-第一章 绪论-1.1总述
1.1总述下面的图展示了Spring框架所包括的七个模块。这章将分别讨论每个模块。Spring框架结构图Core包框架的最基本的模块,提供了IoC和DI特性。其中最核心的概念是BeanFactory,它提供了工厂模式的一种复杂的实现,它去除了对于程序独立性的要求,尽量减少了对于实际应用业务逻辑依赖性的配置和说明信息。Core包的上面是“上下文”(Context)包
2006-11-01 15:13:00
1108
翻译 Spring参考手册-第一章 绪论
背景: 2004年初,Martin Fowler在谈到“控制反转”问题时,问他的读者下面的问题:反转的是控制的哪个方面?。Fowler建议重新命名这个概念(或者至少给它一个更便于理解的名字),他开始使用“依赖注射”这个词汇。他的文章进一步解释了
2006-10-31 17:07:00
870
翻译 Spring参考手册-序言
序言开发软件应用本身是一件相当困难的事情,即使你采用的是很好的工具和技术。而采用那些承诺“可以实现所有事情”的框架(但实际结果是:框架本身太“重量级”、难于控制且在开发周期内效率低)。Spring提供一个实现企业应用的轻量级解决方案,支持事务管理、支持基于RMI或者Web Service的业务逻辑的远程访问,同时可以采用多种方式实现持久化数据。Spring提供一个完整的MVC框架,并且
2006-10-26 16:19:00
1081
原创 Spring,春天的感觉-关于翻译SpringFramework的参考手册的长征宣言
关注Spring框架已经很久了,作为在开源社区最活跃而且也是目前最流行的框架之一,一直想抽出时间来好好研究一下这个“春天的蜻蜓” 。其文当资源在开源框架中算是相当齐备的了,但中文资料较少,所以便萌发了翻译它的英文手册(来自21Interface)的想法,想到就做,就把这篇blog作为这长征旅程的启程宣言吧。 米兰.昆德拉说:不在乎目标,何必关注目的地在哪儿。享受这个学习并快
2006-10-26 16:10:00
1566
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人