打开活动时,您可以通过Intent
对象传递参数,例如
Intent intent = new Intent(context, UserImagesActivity.class);
intent.putExtra("user_id", 5);
startActivity(intent);
这将启动一个呈现用户#5图像的活动。 然后在活动中你可以做类似的事情:
String userId = getIntent().getIntExtra("user_id", 0);
User user = findUserById(userId);
renderImages(user.getImages());
现在我的问题是,处理意图的最可靠的地方在哪里?应该在onCreate
,onResume
还是onStart
?
答案 0 :(得分:0)
访问磁盘或解码图像等密集型工作应该在一个单独的线程上完成,其他线程依赖于您的逻辑,但您也不应该在onResume和onPause上做太多工作,以使UX顺利进行并快速切换。
答案 1 :(得分:-1)
答案是取决于。 onCreate()默认情况下不是处理这种情况的最佳位置。
如果您具有活动的默认设置,那么是onCreate()
似乎是一个合理的选择。但是,如果您的活动是 singleTop 或 singleInstance ,例如您的示例可能就是这种情况,那么我能想到的最佳位置是onNewIntent()
所以如果您需要更新来自其他活动的图片并按startActivity()
导航回原始活动,onCreate()
方法将不会被调用onNewIntent()
。正如@mmlooloo指出onNewIntent()
但是第一次创建活动时不会调用它。因此,除非将其标记为LUNCH,否则您可能还必须处理该案例onCreate()
。