在Activity本身以外的任何地方调用Activity.finish(),startActivity(),startActivityForResult()是否有任何缺点?

时间:2013-11-22 05:53:58

标签: android performance coding-style

我正在开发一个项目,目前正在调用各种各样的Activity方法。 (例如,我的CameraActivity在其JpegPictureCallback中调用startActivityForResult(),另一个活动是在其一个Views中调用startActivityForResult(),而另一个活动的其中一个按钮的onClickListeners调用finish())

我是Android的新手,但有些练习对我来说似乎奇怪。特别是当我不得不明确地给出一个子视图或onClickListener时,父Activity就这样可以调用这样的方法。通常当我不得不像我那样努力使某些东西发挥作用时,通常会有更好的方法。

在一个类中调用startActivityForResult()并在另一个类中返回onActivityResult()似乎是反直觉的。它似乎没有形成合理的信息流。

具体来说,我的问题是:

  • 以这种方式调用活动会对性能产生影响吗?
  • 这是正确的编码风格吗? (两者都是个人,但特别是根据一些明确的指导方针,即Android的开发指南)

1 个答案:

答案 0 :(得分:0)

  1. 以这种方式调用活动不会对性能产生影响。
  2. 是的,这是标准的编码风格。请参阅以下链接以获取编码标准。
  3. 详细信息检查:http://developer.android.com/training/basics/intents/result.html