应用程序开发者关于MeeGo平台的2010总结

来源:互联网 发布:数据的物理独立性 编辑:程序博客网 时间:2024/04/27 22:53
于MeeGo平台开发应用程序有一段时间了,尤其是最近一个多月,天天加班,赶进度,为的就是参加CES展。目前,为CES做的demo程序,终于冻结更新了,因此,也有时间静下心来总结一下。

1. MeeGo平台处于一个持续更新的状态,一些底层的库,在上游更新的很快,但是,编译到MeeGo平台的时候,则是远远的落后于上游的更新速度。这种策 略,跟ubuntu这类桌面环境是相似的。对于开发团队来说,如果使用MeeGo的sdk和模拟器,则不会有什么大的问题。但是,我们的团队采用的方法是 在PC上直接安装一些比较底层的库的最新的版本,比如libmeegotouch,然后开发代码,在PC上先调试运行,然后再使用MeeGo的sdk为目 标平台重新编译一次,这种做法的好处就是开发起来更方便,不利的地方就是由于PC上库的版本比MeeGo平台上对应的库的版本高,需要经常检查函数是否和 版本匹配。

2. MeeGo应用程序的启动速度,比qt程序会慢一些,在PC上,这种启动速度,勉强还可以接受,但是在我们的目标平台上,则慢的出奇,超出了可以忍受的范围,目前正在进一步分析慢的原因,想办法解决。

3. MeeGo中,使用了tracker数据库,从我们团队成员的学习情况以及第三方团队的反馈信息来看,这个东西有一定的难度,学习成本比较高,虽然trackr很强大。

4.MeeGo 的音频子系统,推荐使用的pulseaudio音频后台程序,最近一段时间,开发任务中暂无音频相关程序,所以没有持续跟踪 pulseaudio的状态,但是就前两个月的调试结果来看,MeeGo上的pulseaudio还没有达到很稳定的状态。(我们使用的是intel的处理器和平台,ARM平台上MeeGo的音频子系统,可能情况不一样,我没有用过)

5. MeeGo的视频子系统,后端使用的是gstreamer框架,所以用起来还是很方便的,但是,gsreamer还是太底层,上层应用开发者,推荐使用的 是qtmobility中的multimedia框架,这也是个新东西,需要学习(一个多月前我下载的libmeegotouch代码中,本来有个 MVideoWidget,直接使用gstreamer,可以播放本地视频,但是最新的libmeegotouch代码中,这个widget已经被移除 了,估计是让为给qtmobility中的multimedia)。另外,虽然底层的框架是gstreamer,但是,硬解码相关的gstreamer插件,现在还不可用,应该还需要再等一段时间才会集成进来。

6. MeeGo上的鼠标手势,是基于qt的gesture的,现在也还不完善,qt中定义的五种基本手势,我们的平台上目前只有3种,而且,最诡异的 是,gestureEvent的传递,是不缺定的,有些时候有这个event,但是有些时候又没有,为此我们反复调整过好几次代码。

7. MeeGo中的css,这是我们遇到的最头痛的问题,我们在PC上调好的css文件,在MeeGo平台上运行的时候,很诡异的出现整体失效的情况,检查过 很多遍,我们的css语言绝对是完全正确的。而我们发现,引起整体失效的原因,竟然是css文件中某些位置上的空格,或者是某个单位值,或者是某个小数 点。这个问题现在实在没有办法解决,只能等待平台上MeeGo的升级。

8. 黑屏现象,这是一个系统级的bug,程序在运行的时候,经常会黑屏,然后xserver重启。

9. event循环挂住,这个是在测试中发现的,程序界面还在,但是不响应任何事件,通过调试发现,整个事件循环在某个地方被挂住了,直接导致程序无法响应后续的event,这个情况很难进一步调试,目前也没有解决。


总的来看,MeeGo现在还不够稳定,没有达到产品级的要求,还需要继续努力。作为MeeGo平台应用程序开发者,希望MeeGo尽快完善起来。


原文地址: http://www.apkway.com/forum.php?mod=viewthread&tid=955&extra=page%3D4