absurd的专栏

欢迎大家加入Linux Mobile Research,本圈子主要致力于基于linux的嵌入式系统的学习和研究,包括内核、驱动、GUI、MMI、软件设计方法和软件优化等方面,欢迎大家加入,无论是高手还是新手,一起学习共同进步。

李先静ID:absurd
971273次访问,排名25好友130人,关注者135
Only those who attempt the absurd can achieve the impossible.
absurd的文章
原创 368 篇
翻译 1 篇
转载 55 篇
评论 1494 篇
李先静的公告
Broncho linux手机平台是构建在linux 2.6 之上,采用GTK+作为GUI的手机平台。欢迎大家到broncho.cn上交流,网站还在建设之中,近期我们会陆续把整理好的文档和代码更新到上去。
最近评论
shijie1983:雅虎管理咨询
网络营销
特价机票
杭州特价机票
杭州打折机票
杭州机票
杭州化妆培训
shijie1983:杭州特价机票
杭州打折机票
杭州机票
杭州化妆培训
unailbobo:谢谢
unailbobo:关于1,我查看源码没有看到gdk_events_init里有关于mainloop的任何代码???
文章分类
收藏
相册
1.个人相册
2.设计备忘录用图
3.设计本质论用图
4.scim架构用图
6.临时文件
7.其它文件
8.研究笔记用图
marvell-linux
1.友情链接
aimself@CSDN(RSS)
directfb中文网站(RSS)
Eric's Little Hut
eye_of_back的专栏(RSS)
Linux Mobile Research
Phoenix@上海(RSS)
segments的专栏(RSS)
study's Blog(RSS)
tracestudio
伐木丁丁鸟鸣嘤嘤(RSS)
会飞的鱼的专栏(RSS)
创系的技术博客
小四的BLOG(RSS)
小马哥的博客(RSS)
开源电信(RSS)
御风剑客
新奇的BLOG
易军军的网络家
李吉群的专栏(RSS)
2.亲情链接
凤凰的幸福蓄水池(RSS)
我的相册
3.软界高手
Donald E. Knuth (RSS)
孟岩(RSS)
透明(RSS)
4.LinuxMobile
celinuxforum(RSS)
GPE(RSS)
maemo.org(RSS)
opensource.motorola
palowireless
5.XWindow
Jserv's blog(RSS)
Keith Packard(RSS)
6.技术资源
7.开源项目
freedesktop(RSS)
GNU(RSS)
GTK+(RSS)
matchbox(RSS)
pxa27x-linux/
8.我的BLOG镜像
absurd@chinaunix
absurd@msn
My English BLOG(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 加快Linux智能手机的起动过程收藏

新一篇:  佛诞节快乐 | 旧一篇: gobject对象不宜作为动态加载的插件

加快Linux智能手机的起动过程

转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>

智能手机开机慢似乎已经 为共识。上次陪老婆去买手机,售货小姐向我们展示了一台诺基亚的手机,起动速度有点慢,售货小姐见我等得有点不耐烦,赶快解释说这是智能手机,里面有操作 系统,像windows一样,所以起动时间比较长,说了一大堆废话,结论是起动时间不长就不够档次。

其实诺基亚的智能手机起 动还算快的,第一次拿到一台多普达的手机,发现从开机到进入桌面居然要40多秒,让我大跌眼镜,当时忍不住奚落了它一通。而broncho平台成型之后, 它起动居然要一分钟,真是自打耳光,早就想优化它了。不过直到最近忙完同步管理器的设计之后,才有时间来做。

主要的优化手法如下:

SIM卡数据读取的优 化。在开机时要读取SIM卡中的数据,主要是名片和短信。以前的做法是每读一条就向数据库中加一条,而我们的数据库是C/S模型的,而且实现变化通知机 制,如果SIM卡中名片和短信数量比较多时,会有比较大的开销。优化之后,我们先把数据放到缓冲里,缓冲区满了之后一次性存入数据库。

延迟起动服务。在PC机 上,都是在login之前起动所有服务,由于服务之间往往存在依赖关系,这个过程要串行的执行,所以这个时间很长,占整个起动时间的绝大部分比例。缩短这 个过程对提高起动速度非常关键。优化之后,我们利用dbus的服务自动起动功能,让服务被请求之后才起动,而大部分服务都是在桌面起动之后才被请求的。更 重要的是dbus能并发的起动这些服务,并协调它们之间的依赖关系,而且不需要的服务开机时根本不用起动。

延迟桌面项加载。很多应 用程序都在桌面里放有桌面项,桌面项显示时要初始化,这过程也相当长,所以在用户login之后桌面迟迟显示不出来。优化之后,桌面起动之后,并不先载桌 面项,而是先把自己显示出来。然后一个一个的加载桌面项,加载一个就显示一个。虽然这个显示过程没有缩短,但用户感觉完全不一样了。

去掉bootloader中的3秒延时。当然要在生产时才去掉,生产时下载过程是自动的,在bootloader的代码中配置好的,所以这个延时没有什么用处。

改了前面几条,效果非常明显,起动过程缩短了20多秒。不过内核的起动速度也比较慢,主要是在扫描jffs2文件系统时的花了不少时间,同事正在尝试用yaffs2。

~~end~~

发表于 @ 2008年05月11日 18:45:00|评论(loading...)|编辑|收藏

新一篇:  佛诞节快乐 | 旧一篇: gobject对象不宜作为动态加载的插件

评论

#fmddlmyy 发表于2008-05-11 19:38:00  IP: 58.240.84.*
读SIM卡确实比较慢。feature phone中都是启动后在后台读sim卡的电话本和短信。所以,读sim卡的快慢不会直接影响启动速度。只是,开机后立刻用电话本,可能有一个还在读卡的提示。
#jyj1983 发表于2008-05-12 16:14:17  IP: 133.9.49.*
我是学神经网络的,我想知道智能手机智能在哪里呀?
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 李先静