宿主及ActivityState分布介绍

1宿主
前面一章已经介绍了图库的基本业务单元是AcitvityState,但是ActivityState不具备独立运行的能力,其必须依赖一个载体来运作;
前一章我们提到ActivityState这个类有点类似于Activity,有属于自己的生命周期方法,比如onCreate、onStart、onResume、onPause、onStop、onDestroy等等,这些方法伴随着所在的Activity生命周期被调用;比如Activity onResume了,处于StateManager栈顶ActivityState的onResume亦会被调用;那么这里的Activity我们就称之为宿主;
那么宿主就只有Activity吗?在Android里还有一个载体提供了类似Activity生命周期流程里的所有回调,它就是Fragment;尽管Fragment本身依赖Activity存活,但它同样拥有一套完整的生命周期流程,而这对于ActivityState来说已经足够了;
所以讲到这里,我们可以清晰地理解下图所述的内容了:

在这里插入图片描述
图库中主要业务的UI展现是基于OpenGL实现的,在Android中提供OpenGL环境最方便的View就是GLSurfaceView了,所以宿主需要提供GLSurfaceView。宿主之一的Activity在onCreate时在setContentView设置主View中包含GLSurfaceView即可,另一个宿主Fragment在onCreateView时返回的View中包含GLSurfaceView即可;
图库中将不同业务场景需要的Fragment中的一些共有特性封装在一个叫AbstractGalleryFragment的类中,将支持GLSurfaceVie

猜你喜欢

转载自blog.csdn.net/qq_42894864/article/details/102668507