Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android RoboGuice使用指南(11) Scopes

Android RoboGuice使用指南(11) Scopes

編輯:Android開發教程

缺省情況下,Guice每次都創建類的一個新的實例對象給需要該類實例的地方 。可以使用Scopes來修改這個缺省行為,Scope允許在一定范圍內重用類實例。 Roboguice中常用的有兩種:

@Singleton 整個Application生命周期中使 用同一實例對象

@ContextScoped 同一個Context(如Activity)中共享某一實 例對象。

使用Scope 的方法為使用相應的標記,如:

@Singleton 
public class InMemoryTransactionLog implements TransactionLog {     
 // everything here should be threadsafe!     
 }

或者在Module中使用bind 語句:

bind

(TransactionLog.class)     
 .to(InMemoryTransactionLog.class)     
 .in(Singleton.class);

如果使用@Provides,可以有:

@Provides @Singleton 
TransactionLog provideTransactionLog() {     
...     
}

如果某個類型使用某個你不想使用的Scope標記,可以將其綁定到 Scopes.NO_SCOPE取消這個Scope定義。

查看全套文章:http://www.bianceng.cn/OS/extra/201301/34950.htm

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved