声明意图和开始活动的更好方法是什么?

时间:2019-02-01 04:02:36

标签: java android android-intent start-activity

我在YouTube,堆栈溢出和其他地方看到了一些Intent声明,并且发现了两种Intent声明。

第一种类型:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);

第二种类型:

startActivity(new Intent(FirstActivity.this, SecondActivity.class));

我的问题是,声明Intent的更好方法是什么?这两个声明之间有什么显着区别吗?

3 个答案:

答案 0 :(得分:2)

性能没有差异,这实际上取决于您的偏好。 就个人而言,我更喜欢第一种选择,因为将Intent分配给新变量更清晰,以后我可以轻松添加更多附加功能。

答案 1 :(得分:2)

这主要是首选项。哪个更容易阅读/理解?我总是用第一个。

如果您需要添加额外的意图或对其进行设置,则无论如何都想使用第一个。

答案 2 :(得分:1)

它的工作原理相同,但是如果您要设置活动启动标志,或者要将一些值/对象放入“意图”中以发送到目标活动,则第一种方法将更加清晰易懂。 例如。

    // First type
    Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("name","xyz");
    intent.putExtra("email","abc@gmail.com");
    startActivity(intent);

    // Second type
     startActivity(new Intent(FirstActivity.this, SecondActivity.class)
    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
    .putExtra("name","xyz")
    .putExtra("email","abc@gmail.com"));