android4.0 的图库Gallery2代码分析(三) 之Applition的初始化准备

Applition的初始化准备

图库的一切动作都明显地起源于Application.这是区别与其他那种感觉不到Application存在,仅仅感觉到Activity存在的简单应用的一个特点。

图库的application就是GalleryAppImpl.java.

可以说GalleryAppImpl是图库的基石。它扩展Application这是必定的,代表他就是一个Application,同时它额外实现了GalleryApp的interface.

GalleryApp中很清楚地表明了自己的作为图库Application要做的事情。

数据处理(DataManager),图像缓存(ImageCacheService),线程调度(ThreadPool),

以及andorid应用普遍需要的传递信息规则Context,UI和主进程调度(Looper),资源(Resources)和数据库处理(ContentResolver)。

有了GalleryAppImpl对GalleryApp的implement,就有了在图库的任何处理时,都能将Context,DataManager,ImageCacheService,ThreadPool,DownloadCache

这些数据作为全局变量取出。

同时我们肯定不能忽略GalleryAppImpl的oncreate中,对于图库数据的初始化。其中包括GalleryUtils,WidgetUtils,PicasaSource。

GalleryUtils的initialize中,初始化了图库的图片和video影像的数据。这些数据的源头在于多媒体数据库。

PicasaSource的initialize中,初始化了google的Picasa图片数据。

因为工程中未用到WidgetUtils,所以,对这部分不是很清楚。等清楚以后,再回来写清楚。但是,这个widget的初始化,不属于图库的基本功能这一点是确定的。如果仅仅根据大致处理和名称来看,应该是图库额外附带的一个widget.用于简单显示图片的那种。

以上,就是图库Application的初始化所做的工作。

原文地址:https://www.cnblogs.com/senior-engineer/p/4855895.html