开发APP项目对于BaseActivity设计步骤详解,深圳APP开发公司首先聊聊应用级别的BaseActivity设计,应用级别的BaseActivity作为各模块Activity的基类,主要是定义一些公共的行为,或各功能模块Activity都可能会用到的方法。这样也可以起到规范开发人员开发行为的作用,包括以下内容。
(1)如果APP只支持竖屏或横屏,可以在BaseActivity设置好,
这样不用每个Activity都需要自己设置。
(2)记录各个生命周期方法执行的Log。
(3)在创建Activity时,基本都需要做以下三件事:初始化变量、初始化View和获取数据,可以在BaseActivity中定义以下方法。initVariables():初始化变量,包括Intent带的数据和Activity内的变量。initViews():加载layout布局文件、初始化控件和为控件挂上事件方法。loadData():从服务器或本地获取数据。
(4)在执行OnDestory方法时,释放Activity使用的图片或视频等资源占据的内存。
(5)增加Activity到Activity列表,及从列表中移出Activity,方便Activity列表的管理。
(6)在执行OnPause方法时,保存数据到本地,防止APP的内存
被系统回收时数据丢失。
(7)在执行OnResume方法时,读取保存到本地的数据。
(8)当收到系统发出的内存不足的信号时,释放当前Activity使用的内存。对于各模块的Activity需要实现的方法,在基类中都定义成虚方法,强制子类实现。如果确实不需要实现,可以在子类定义空的方法体,这样可能会多写空方法,但可以强制开发人员必须实现相关方法,避免产生许多问题。示例代码如下:abstract class BaseActivity extends AppCompatActivity implements ComponentCallbacks2 { { private String TAG = "BaseActivity"; @ Override protected void onCreate( Bundle savedInstanceState) { super. onCreate( savedInstanceState);
if (getRequestedOrientation() != ActivityInfo. SCREEN_ ORIENTATION_ PORTRAIT) { setRequestedOrientation( ActivityInfo. SCREEN_ ORIENTATION_ PORTRAIT); } ActivityList. addActivity( this); } @ Override protected void onStart() { super. onStart(); EamLog. v( TAG, "onStart"); } @ Override protected void onResume() { super. onResume(); restoreData(); EamLog. v( TAG, "onResume"); }
@ Override protected void onPause() { super. onPause(); saveData(); EamLog. v( TAG, "onPause"); } @ Override protected void onStop() { super. onStop(); EamLog. v( TAG, "onStop"); } @ Override protected void onDestroy() { releaseMemory( 0); ActivityList. removeActivity( this); super. onDestroy();
EamLog. v( TAG, "onDestroy"); } /** * Release memory when the UI becomes hidden or when system resources become low. * @param level the memory- related event that was raised. */ public void onTrimMemory( int level) { releaseMemory( level); } abstract void initVariables(); abstract void initViews(); abstract void loadData(); abstract void saveData(); abstract void restoreData(); abstract void releaseMemory( int memoryLevel); }
好了,APP开发公司本文关于“APP项目设计关于BaseActivity步骤详解”知识就分享到这里,谢谢关注,博纳网络编辑整理。