`
quanminchaoren
  • 浏览: 924262 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android Gallery3D源码学习总结(三)——Cache缓存及数据处理流程

阅读更多

第一,在应用程序中有三个线程存在:主线程(随activity的声明周期启动销毁)、feed初始化线程(进入程序时只运行一次,用于加载相册初始信息)、feed监听线程(一直在跑,监听相册和相片的变更)。

第二,不考虑CacheService 启动的主要流程归纳如下:

1.首次进入程序Gallery调用onCreate,此时发送初始化消息进入消息队列;然后Gallery调用onResume,向下进入 GridLayer的onResume,如果此时Mediafeed对象没有进行初始化则什么也不干(第一次一般都是这样),否则调用Mediafeed 的onResume;

2.处理消息队列中的HANDLE_INTENT消息,Gallery处理这个消息会初始化数据源,从而调用GridLayer的 setDataSource方法,这个方法会触发底层MediaFeed的启动方法start,执行完后启动feed监听线程 继续执行MediaFeed的run方法。

start方法会作两件事:调用自己底层的重新开始方法onResume,onResume中会为图像和视频这两个媒体源分别增加“内容变化监听器”,并请求马上刷新这两个媒体源(加入全局的刷新请求列表);启动feed初始化线程mAlbumSourceThread。

3.其中MediaFeed初始化线程的工作是:调用MediaFeed的loadMediaSets加载相册,它又调用了下层 LocalDataSource中的refresh方法(查询数据库是否有相册变化,新增或修改feed中相应的MediaSet相册的名字)和 loadMediaSets方法(调用下层CacheService.loadMediaSets方法,这个方法下面会重点展开)加载所有相册和相册中的 所有相片信息。

4.MediaFeed监听线程MediaFeed.run()的工作是:根据“内容变化监听器“返回的媒体变动消息(增删改),持续不断的更新MediaFeed中的相册和相片变量。

具体机制是这样的,如果全局的刷新请求列表中有内容,则调用LocalDataSource.refresh进行相册信息的更新(其中 LocalDataSource.refresh调用了CacheService的computeDirtySets),然后run遍历每个相册并调用 dataSource.loadItemsForSet()方法为相册加载相片记录。

第三,不考虑CacheService 新增和删除相片文件夹的主要流程归纳如下:

1.对应【用相机照相后退回主程序,生成camera文件夹】部分,首先GridLayer判断mMediaFeed非空即已经初始化过,则直接调用 MediaFeed.onResume方法,上面提到它会为图像和视频这两个媒体源分别增加“内容变化监听器”,并将其加入全局的刷新请求列表。

2.可别忘了MediaFeed监听线程MediaFeed.run()方法,它一直在默默无闻的等待者全局的刷新请求列表有所变化。这时第二中的4这个步骤又被激活了,这之后更新相册和相片信息就是自然的了。

3.对应【删除这个camera文件夹】,也是走的第2步这个过程。

分享到:
评论
3 楼 lovingqiaoyan 2012-07-01  
同样 我也需要修改这个源码,能麻烦你价格QQ:282928469 请教下关于Gallery3D的源码问题吗?
2 楼 WangQingHua123 2012-04-23  
你好, 我也再改Gallery3D的源码, 遇到了相关问题想请教下, 你的QQ多少. 能否加我QQ. 的我QQ是: 2403152992
1 楼 wantyer 2012-03-13  
你好。我现在也需要修改Gallery3D的源码。 但对其扫描SDcard的媒体文件这个过程不明白。
所以,想请教你。 可以加个QQ么。 你的QQ是多少。
如果你直接加我的QQ那就更好了。我的QQ:82455896.

相关推荐

    Android_Gallery3D源码(已编译)

    总之,Android Gallery3D的源码是一个丰富的学习资源,它涵盖了Android开发的多个关键领域,包括3D图形编程、数据管理、性能优化、用户交互设计以及项目构建。对于希望提升Android开发技能的工程师来说,深入研究这...

    android Gallery3D 最新源码

    总结,Gallery3D作为Android平台上的一个开源项目,其源码为我们揭示了高效3D图片浏览应用的实现原理,包括数据加载、3D渲染、UI设计和性能优化等多个方面的知识。通过深入学习和理解,开发者不仅能提升自己的...

    安卓Android源码——Gallery3D.zip

    《深入剖析Android Gallery3D源码》 在Android操作系统中,Gallery3D是一款经典的图片浏览应用,它以其高效、流畅的用户体验而广受好评。本文将深入探讨Gallery3D的源码,帮助开发者理解其背后的实现原理,进一步...

    android 3d 分析

    在"gallery3d源码学习总结(三)——Cache缓存及数据处理流程"中,可能讲解了如何有效地缓存图片和处理数据,以优化性能和用户体验。在3D滚动场景中,高效的缓存策略能确保即使在快速滚动时,图片加载仍然流畅。而...

    安卓Android源码——Grallery3D.zip

    总结来说,Gallery3D作为Android平台的一款经典应用,其源码提供了丰富的学习资源,涵盖了Android应用开发的多个重要方面,包括UI设计、数据管理、图形渲染、性能优化等。深入研究并实践这些知识点,对于任何Android...

    Gallery3D源码

    《Gallery3D源码解析——打造高效且直观的图库应用》 Gallery3D是一款流行的开源图库应用程序,以其高性能和用户友好的界面而受到广大开发者和用户的喜爱。本文将深入探讨Gallery3D的源码,揭示其在图像处理、性能...

    Android2.3.3图库Gallery3D源码带Eclispe工程直接编译

    总之,分析Gallery3D的源码不仅可以帮助我们理解Android系统的多媒体处理机制,还能提升我们在图像展示、数据管理、性能优化等方面的开发技能。通过对源码的深入研究,开发者能够掌握更多的实践技巧,从而在Android...

    安卓Android源码——Gallery2.rar

    总的来说,通过对“Gallery2”源码的学习,开发者可以深入了解Android系统的图像处理、数据管理、UI设计、性能优化等多个方面,对于提升Android开发能力大有裨益。同时,这也是一种实践驱动的学习方式,能帮助开发者...

    安卓Andriod源码——Gallery3D.zip

    《安卓Android源码——Gallery3D深度解析》 在安卓Android的世界里,源码是开发者探索系统奥秘、提升应用性能、实现个性化定制的关键。本文将深入探讨“Gallery3D”这一组件的源码,帮助读者理解其工作原理,从而在...

    Android Gellary3D 源码

    **Android Gellary3D 源码解析*...通过深入研究Android Gellary3D的源代码,开发者可以学习到如何在Android平台上实现高效的3D图形渲染、数据加载优化、UI设计以及多线程编程,这对于提升Android应用开发技能大有裨益。

    在Eclipse中编译运行Android4.3应用源码——Gallery2

    详情请参阅 在Eclipse中编译运行Android4.3应用源码——Launcher2和Gallery2 http://blog.csdn.net/klpchan/article/details/11843295

    android 4.0 Gallery源码

    Gallery应用作为系统内置的图片查看器,它的源码对于我们理解Android图像处理、UI设计以及性能优化具有极高的学习价值。本文将深入探讨Android 4.0 Gallery源码,揭示其内部的工作机制和设计思想。 1. **架构设计**...

    最新android4.0gallery3d源码

    Android 4.0 Gallery3D源码分析 Gallery3D是Android系统中一个经典的3D图像浏览应用,尤其在Android 4.0(冰淇淋三明治)版本中,它提供了流畅且富有视觉冲击力的用户体验。这个源码是开发者深入理解Android 3D图像...

    android2.2 gallery3d源码

    android gallery3d源码,我测试过了,可以正常运行,希望对大家有用。

    Android Gallery3D

    **Android Gallery3D详解** Gallery3D是Android...通过分析和学习Gallery3D的源代码,开发者不仅可以提升对Android平台的深入理解,还能掌握3D图像处理、性能优化等高级技术,为自己的应用开发提供宝贵的实践经验。

    Gallery3D源码分析

    Gallery3D源码分析

    Gallery3D_画廊效果Android源码.zip

    《Gallery3D:Android平台上...总结,Gallery3D是Android开发中一种创新的图片展示方式,通过3D滚动和硬件加速提供了出色的用户体验。开发者可以参考其源码,结合实际需求,定制自己的3D画廊效果,为应用增添更多亮点。

    Android Gallery 3D效果

    `Android Gallery 3D效果`通常是指一种模拟三维空间中的图片滚动效果,使用户感觉图像在空间中旋转。这种效果能够增加应用程序的视觉吸引力,提高用户体验。要实现这样的效果,开发者需要对Android的视图动画、触摸...

    android gallery 3D效果

    在Android平台上,`Gallery`组件曾经是实现3D滚动效果的一种流行方式,它允许用户以横向滑动的方式浏览图片或项目列表,同时提供了一种视觉上的立体感。然而,随着Android版本的更新,`Gallery`组件在API 16...

    android 的gallery3d

    Gallery3D是Android操作系统中的一款强大的3D图像查看应用,专为用户提供了独特的三维浏览体验。它不仅是一款高效的图片管理工具,还利用了Android设备的硬件加速功能,实现了流畅的3D动画效果,让用户在手机和平板...

Global site tag (gtag.js) - Google Analytics