代码之家  ›  专栏  ›  技术社区  ›  grrrrrr

在应用程序级别初始化Fabric&Crashlytics有什么缺点吗?

  •  1
  • grrrrrr  · 技术社区  · 6 年前

    在Crashlytics的官方文档中,它显示了在活动的onCreate方法中初始化Fabric。我想让Crashlytics报告整个应用程序的崩溃,把初始化调用放在应用程序级有什么坏处吗?在接收整个应用程序的崩溃报告时,进行此更改是否足够?

    文档示例:

    public class MainActivity extends ActionBarActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          Fabric.with(this, new Crashlytics());
          setContentView(R.layout.activity_main);
        }
    }
    

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            Fabric.with(this, new Crashlytics());
            super.onCreate();
        }
    }
    

    在我的测试中,这似乎符合我的目的,但我想确保这不是一个反模式,因为我似乎找不到任何关于它的文档。

    2 回复  |  直到 6 年前
        1
  •  6
  •   Mike Bonnell    6 年前

    我是织物公司的迈克。是的,您可以并且应该将它移动到应用程序的子类 onCreate() reference :

    “如果您有一个应用程序子类,那么您可以 Fabric.with() onCreate() 方法。否则,如果您的应用程序中有多个启动活动,请添加 织物() 每次发射活动。结构仅在第一次调用start时初始化,因此多次调用不会导致任何问题。”

        2
  •  1
  •   Prateek    6 年前

    您可以使用它来存储特定于应用程序的数据(只要您的应用程序处于活动状态),这些数据可以跨各种活动使用。

    由于结构需要在应用程序启动时初始化,所以最好在应用程序类中初始化它。