在谈话中讨论的代码是:
public class LoggedInActivity extends Activity { @Inject User user; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_logged_in); DaggerScopesApp app = (DaggerScopesApp) getApplication(); app.getobjectGraph().plus(new UserModule("exampleusername")).inject(this); findVIEwByID(R.ID.do_something_button).setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Toast.makeText(LoggedInActivity.this,user.username + " : " + user.someValue++,Toast.LENGTH_SHORT).show(); } }); }}
但是,如果注入的用户被限定为@Singleton,那么属性将在配置更改时消失(因为对象图在onCreate中创建).
该解决方案非常简单,您只需执行一次“加” *** 作,并将新对象图存储在其他位置(也许是应用程序类),但我想知道这是否是一个很好的方法?来自Square的任何人都可以提供您在应用程序中所做的工作的任何见解?你在“登录”图表中没有单例对象吗?
解决方法The solution is pretty simple,you can just do this “plus” operation once and store the new object graph somewhere else (maybe the application class),but I was wondering if this is a good approach?
是的.登录图的生命周期只要用户登录并且进程正在进行,就需要生存.由于活动的生命周期极短,这不是一个好地方.
我用它作为一个例子,使用他们熟悉的东西来缓解人们的观念.
Can anyone from Square can provIDe any insight into what you do in your applications?
所有与UI无关的图都由Application类进行管理.通过这一点,我们保证它创建一次,首先创建,只有在进程死机时才消失.
随着用户界面的到来,任何与UI相关(活动范围图,片段图等)都会被覆盖.
总结以上是内存溢出为你收集整理的方形 – Android中的匕首范围全部内容,希望文章能够帮你解决方形 – Android中的匕首范围所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)