美文网首页
Application的一点小笔记

Application的一点小笔记

作者: StoneWay3 | 来源:发表于2020-07-03 23:48 被阅读0次

    1.Application是维护应用全局状态的基类。Android系统会在系统应用进程时创建一个Application对象。

    是context的子类。

    2.生命周期:Application对象在程序一开始就创建,并且一直存活在进程中,直到应用进程结束他才会被销毁。

    public class Myappextends Application {

    /**

        * 创建

        */

        @Override

        public void onCreate() {

    super.onCreate();

            MdApp.init(this);

        }

    /**

        * 系统配置发生变动的时候调用

        * 比如横竖屏切换

        * @param newConfig

        */

        @Override//

        public void onConfigurationChanged(@NonNull Configuration newConfig) {

    super.onConfigurationChanged(newConfig);

        }

    /**

        * 系统内存过低的时候调用,一般在这里做一个系统内存回收

        *

    */

        @Override

        public void onLowMemory() {

    super.onLowMemory();

        }

    }

    3.Application对象由Android系统管理,他的回调函数都运行在UI线程。

    4.Application对象全局可访问,并且一直存活,所以可以完成以下几个工作:

    ①共享全局状态:

    private static boolean isLogined=false;

        public static Context getmGolabContext() {

            return mGolabContext;

        }

    mGolabContext=this;

    application 对比 静态单例:

    静态单例也可以实现应用全局状态的共享。

    静态单例模块化程度更好

    application是一个context,所以它具有访问资源文件的能力,但是静态单例不行。

    静态单例可以接受context参数,所以将context作为参数传给静态单例,那么久可以访问资源了

    application对象能接受系统回调,自动知悉系统环境变化

    applicatuion对象的生命周期由系统控制,我们无法干预

    综上:如果可以用静态单例实现全局共享,最好是用静态单例的方法实现

    ②初始化全局应用所需要的的服务

    相关文章

      网友评论

          本文标题:Application的一点小笔记

          本文链接:https://www.haomeiwen.com/subject/awcyqktx.html