我在一个Activity中多次保存到SharedPreferences。每次我进行读写操作时,都会通过Context
。以下是我正在考虑的两个选项 - 哪一个更好(或者有更好的方式)
getActivity().getApplicationContext()
。onCreate()
中保存一次变量(即Context ctxt = getActivity().getApplicationContext()
),然后在需要传递上下文时在整个活动中使用变量ctxt
。哪种方式在技术上更好?关键是 - 我每次都应该访问getApplicationContext()
。我猜这很慢(并且不必要)也可能导致崩溃(我一直看到我的用户的一些日志,我无法重现,但堆栈跟踪始终指向包含getApplicationContext()
的行}
答案 0 :(得分:1)
活动本身可以用作上下文。只需通过this
即可。您可以在内部类中传递ActivityName.this
。
getApplicationContext()
返回“当前进程的单个全局Application对象的上下文。”
答案 1 :(得分:0)
检查这个post你想要的是什么,你只需使用Activity
作为Context
即可随时调用getApplicationContext()
,只是你可能需要找到替代方案,并使用getBaseContext()
或活动本身