iOS Safari阅读模式分析过程

本文为Safari阅读模式分析过程记录,没有做很好的整理。详细看另外一篇....
阅读(3958) 评论(0)

iOS Safari阅读模式研究

Safari阅读模式的三个要点: (1) 阅读模式的检测 (2) 阅读模式的执行 (3) 阅读模式页面的控制 这是一篇在2013年准备的资料,现在分享出来,供有需要的同学参考。...
阅读(4361) 评论(2)

网络性能评价方法

目前度量网络的品质的方法如果仅以网络连接类型来区分,比如2G, 3G, Wifi等,无法有效感知到当时的网络状态。在同一网络连接类型下,网络的品质仍有大幅波动,可能会因为阻塞以及线路上问题导致延迟上抖动(jitter)、丢失数据包、数据包损坏等情况。 本文基于对一段时间的网络数据的记录,进行算法处理,可以测出一个衡量当时网络状态的指标。...
阅读(10527) 评论(2)

WebKit历史项管理的实现

历史项管理根据标准定义,由Page管理一个Joint Session History, 包含了各个子Frame的历史项。逻辑上分为三个层次:Page,Frame,以及JS Binding的接口。页面加载的核心是由Frame通过FrameLoader来完成的,HistoryController及BackForwardController可以视为页面加载进行历史项操作的接口。 Frame层次中通过HistoryController, Page层次中通过BackForwardController进行历史项操作。 ...
阅读(3918) 评论(3)

WebKit的历史项管理

讲解页面历史项管理的标信,及WebKit实现,分析两个比较隐蔽的问题。...
阅读(2219) 评论(0)

应用程序启动速度优化

Mozilla工程师通过优化Static Initializer(静态初始化,或全局建构函数, Global Constructor)和Binary布局来提升FireFox启动速度的文章,非常有参考价值。文章中以x86及x86-64平台为基础,下面加了Mac OS及Android上的binary布局。什么是Static Initializer? 简而言之就是全局C++对象的初始化。...
阅读(3796) 评论(1)

内存分配器 (Memory Allocator)

对于大多数开发者而言,系统的内存分配就是一个黑盒子,就是几个API的调用。有你就给我,没有我就想别的办法。实际深入进去时,才发现这个领域里也是百家争鸣,非常热闹。有操作系统层面的内存分配器(Memory Allocator),有应用程序层面的,有为实时系统设计的,有为服务程序设计的。但他们的目的确认一样的,平衡内存分配的性能和提高内存使用的效率。优化内存的对策总体就是两点:一是能不用就不用,代码里可能隐藏着不必要内存分配。二是能少用就少用,特别避免频繁分配,因为那样只会增加内存碎片,到了极端时即使仍有内存可...
阅读(14643) 评论(5)

WebKit加载流程 - 概述

之前写了几篇加载流程的说明,是从下向上看,有点只见树木不见森林的感觉。经过最近一段时间的学习,有了能加以概括抽象的方法。 WebKit加载流程和页面组成是直接相关的,页面就是WebKit要加载的对象。所以WebKit负责加载的类也与负责页面管理的类相对应。Apple关于WebView的说明里清楚表现了页面视图上的MVC结构:一个页面从元素上也有其层次结构,并且和加载类对应。...
阅读(6391) 评论(5)

Android SQLite性能分析

作为Android预置的数据库模块,SQLite精致而且强大,对它的深入理解对于提升应用的性能非常重要。这里对SQLite的性能和内存进行了一些测试分析,对比了不同操作的执行性能和内存占用的情况,粗略地列在这里算是作个小结。...
阅读(12440) 评论(6)

页面相关的数据存储(缓存及Web Storage)

页面可用的缓存包括:Http Cache, Local Storage, Session Storage以及Application Cache. 它们都可以用来减少请求数量,以提高页面的性能及减少流量消耗,这对于移动端的浏览器来说更为重要 (另外还有Memory Cache, 不过对于前端工程而言是透明的)。...
阅读(8967) 评论(0)

[WebKit]管好页面缓存

“最快的网络请求就是不发请求。” 无论何时有人说到这句话,我都会心一笑。这的确是真理,HTTP Cache对网页速度至关重要。 现在缓存的使用看似正渐入佳境,但还不够。下面HTTP Archive的数据显示在过去一年里(2011), 可以缓存的资源增加了10%,而同时页面资源却增加了12%,页面数据量增加了24%....
阅读(5916) 评论(0)

HTTP缓存思考

HTTP Cache的一个很重要的应用,它包含两个重要的领域: HTTP & Cache。 两个方面都有清楚的定义,很多人进行着各种研究,相关的文档也是数不胜数。下面是整理的一个思维导图,以后再展开。...
阅读(3925) 评论(0)

[WebKit]WebCore之页面加载的设计与实现(三)

关于页面加载,RFC2616(HTTP 1.1)做了很多的定义,WebKit的流程也是遵循这些定义的实现。这部分的实现主要放在之前提出的WebCore Loaders和HTTP Stack中。 比如Chrome Net Stack(里面包含了HTTP Stack的实现)中实现了HTTP Cache, 而Android浏览器则是HTTP Client中实现了HTTP Cache。...
阅读(5445) 评论(0)

[WebKit]WebCore之页面加载的设计与实现(二)

从上次学习WebKit加载已经过去了大半年了,终于又有时间理一次加载流程。期望逐步完善细节,最后能有一个系统的总结。 首先可以这样理解WebKit的加载逻辑,涉及三个主要的组件, 其中HTTP stack为各个平台下使用的HTTP协议模块,WebCore Loaders则依据页面加载及解析过程对加载不同HTML Element的控制,Loading Controller则具体实现了资源加...
阅读(6052) 评论(2)

Android开发中的SQLite优化

关于SQLite的优化,首先是能用SQL语句的,就不要单笔操作, Cursor就更是能不用就不用。比如成批的删除,将条件组装到SQL语句,会比使用CURSOR一条条的查再删效率要高很多(若干年前就曾使用存储过程代替单笔操作,将一次批量计算时间从一晚上缩到了一小时以内)。其次是对操作的优化:对于INSERT/UPDATE操作较多时使用事务,如果SELECT操作较多时,使用索引。...
阅读(15389) 评论(2)
68条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1534096次
    • 积分:17126
    • 等级:
    • 排名:第637名
    • 原创:221篇
    • 转载:30篇
    • 译文:47篇
    • 评论:375条
    微博/MSN/EMail

    新浪微博:Horky
    QQ:324014340
    Mail:horky.chen@gmail.com
    微信公众号 (聚焦软件开发):
    博客专栏
    最新评论