Intent Extras是否存在于调用堆栈中

时间:2018-06-06 11:18:12

标签: android android-activity

如果Activity A将活动B调用.setExtra(someKey, someValue),活动B调用活动C,用户将从中调用活动B使用后退按钮的B,活动Extra仍然可以访问活动A中的A吗?

  1. A
  2. B - > Extra(与A
  3. B - > C - > A 按下后退按钮
  4. B - > ExtraBundle?)
  5. 在这种情况下, UIView.beginAnimations(“rotation”, context: nil) UIView.setAnimationDuration(0.8) cell.layer.transform = CATransform3DIdentity cell.alpha = 1 cell.layer.shadowOffset = CGSize(width: CGFloat(0), height: CGFloat(0)) UIView.commitAnimations() 是否被保留或丢弃?

    我在When do intent extras become null between activities?Android Intent Extras Sticking Around

    中找不到此内容

2 个答案:

答案 0 :(得分:1)

ActivityB拨打getIntent()时,您将始终可以访问"额外内容"在Intent开始的ActivityB中发送的内容。 Android会保留Intent(包括" extras"),这样即使Android杀死进程(因为用户将其置于后台),当用户返回应用时,Android会创建一个新的处理并使用原始Activity重新创建Intent

答案 1 :(得分:-1)

不,他们并不总是坚持。大多数情况下,它都有效,但有时,额外只是null,在访问它时创建了NullPointerException。因此无法保证系统保留Extra。最好把它保存在某处。