[英]Application lifecycle and onCreate method in the the android sdk
[英]Android. It's okay to init objects outside of onCreate() lifecycle method?
我的項目中有一些公用事業和工人。 所有這些類都作為單例工作。 假設我有多個使用此對象的活動,但兩者之間有區別
private LocationWorker mLocationWorker;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_daily_forecast);
mLocationWorker = LocationWorker.getInstance();
和這個?
LocationWorker mLocationWorker = LocationWorker.getInstance()
可以在onCreate()方法之前獲取對此對象的引用嗎?
可以在onCreate()方法之前獲取對此對象的引用嗎?
是的。
LocationWorker mLocationWorker = LocationWorker.getInstance();
應該工作正常。
但是,由於它是一個單例,因此我不確定在字段中保存對其的引用是否有很多意義。 你可以做
LocationWorker.getInstance()
隨時隨地。
我通常更喜歡第一種方法
private LocationWorker mLocationWorker;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_daily_forecast);
mLocationWorker = LocationWorker.getInstance();
因為僅在需要時才創建對象。 在第二種方法中,您將創建一個單例對象。 該對象甚至在需要它之前就占用內存。 我更喜歡第一種方法的一些情況是:
如果對象將在類的某些部分中使用,則應考慮在該類中聲明它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.