摘要:
Dom Tree Node的层次结构:Render Tree Node的层次结构:两种Tokenizer: 阅读全文
摘要:
有些运营商要求把特定信息加到UA中,例如需要把屏幕尺寸和CTC/2.0的信息加到UA中, 可以在这里加, 记录一下.core/java/android/webkit/WebSettings.javaprivate synchronized String getCurrentUserAgent() { ... // add screen spec final String screenMetrics = getScreenMetrics(); buffer.append("; "); buffer.append(screenMetrics); ... 阅读全文
摘要:
09年, android圈正在大火的时候, 有不少人和我聊过一个有意思的话题, 如何学习android app开发, 或是如何对android framework和android框架有更深入的理解, 以我这几年的学习感受来说, 我经常看书学习了一个新知识后, 没过几个月, 基本就全忘在了脑后, 剩下的只是它的"影子", 但如果你当时针对这个新知识写了个demo后, 几个月后, 这个"影子"留的更深刻一些, 但如果你真正用学到的知识完成了一个可以在市场上找到的产品, 被几万几十万的用户使用, 那么它带给你的不仅仅是对android framework有了更 阅读全文
摘要:
从网络上回来的数据是如何被webkit接收的?在framework/…/net/http/EventHandler.java 中定义了一些接口, 比如: public void data(byte[] data, int len); public void headers(Headers headers); public void error(int id, String description);这个接口被framework/…/webkit/LoadListener.java 实现, 重写EventHandler接口中的方法.被重写的这3个方法大致的思路是: 通过s... 阅读全文
摘要:
before:public boolean onOptionsItemSelected(MenuItem item) { ... case R.id.exit_menu_id: finish(); break; ... }after:public boolean onOptionsItemSelected(MenuItem item) { ... case R.id.exit_menu_id: if(mInLoad) { stopLoading(); } finish(); break; ... ... 阅读全文
摘要:
把建ndk开发环境的步骤简要总结一下:1. 下载NDK开发包, 解压到本地, 在eclipse里进行配置.2. 工程名上右键-> android tools -> add native support, 输入本地库的名字 libhellojni.eclipse会自动添加一个jni目录, 生成hellojni.cpp和Android.mk. 提示错误找不到jni.h解决办法是需要配置一下工程, 右键工程, C/C++ General, path and symbols, include tab window, add-> add all laungage. 配置"in 阅读全文
摘要:
我们知道在W3C标准中, 已经定义了一套标准的JavaScript对象集合. 当今主流的浏览器都对这套标准支持的很好. 那如果我们的浏览器想要个性一些, 是否可以在这套标准外, 定义属于我们自己的特定JavaScript对象呢, 在webkit中当然是可以的. 下面我们就在android平台的webkit中, 新添加一个JS对象, AndroidObject, 并让这个对象有一个descript... 阅读全文
摘要:
HTML5 Canvas是最广泛支持的2D即时模式图形WEB标准,是基于HTML5的多媒体、可视化、游戏等应用的基础。因此,Canvas的性能优化有助于几乎所有HTML5应用的性能提升,且能有效地节省CPU使用率,这一性能指标对于大屏幕的设备非常重要。chrome for android在android4.0上已经实现了canvas硬件加速, 从samsung i9100测试成绩上看, 和iphone4差距仅有20%(还没有找到iphone5, 以后有钱了买个, 相信它的成绩会更好). 不过在原生browser的实现上, 并没有启用canvas硬件加速, FishTank的成绩只有可怜的5 f 阅读全文
摘要:
android中的webkit分为java层, 和native C++层, 它们直接的相互调用通过jni完成. frameworks层的源码总结 代码位于frameworks/base/core/java/android/webkit目录下, 一共84个文件, 接触过的主要文件的简单说明如下: WebView.java 为App的Activity提供browser... 阅读全文