私はこのように理解していますが、正しく理解できますか? たとえば、2 つのアクティビティ A と B には、A と B の両方が変更できるデータがあります。データのこの部分を共有データと呼びます。 。 最初に A が共有データを初期化し、次に A が B を開始し、B が共有データを変更します。 B が戻ってきたとき、A の共有データをチェックしたところ、それがまだ初期初期化データであり、期待していた B の変更されたデータではないことがわかりました。 考えられる理由は次のとおりです: A が B を開始した後、A が破棄されました。これはログ情報を追跡することで確認できます。 B が戻るとシステムは再び A を起動しますが、A は再度 onCreate() を実行し、共有データはこの時点で見ると元の初期化データのままです。 解決策: onSavedInstance() を使用して共有データを保存し、保存された共有データを onCreate() で使用します。 共有データの例として文字列 FileUri を使用します。
私はこのように理解していますが、正しく理解できますか?
たとえば、2 つのアクティビティ A と B には、A と B の両方が変更できるデータがあります。データのこの部分を共有データと呼びます。 。
最初に A が共有データを初期化し、次に A が B を開始し、B が共有データを変更します。 B が戻ってきたとき、A の共有データをチェックしたところ、それがまだ初期初期化データであり、期待していた B の変更されたデータではないことがわかりました。
考えられる理由は次のとおりです: A が B を開始した後、A が破棄されました。これはログ情報を追跡することで確認できます。
B が戻るとシステムは再び A を起動しますが、A は再度 onCreate() を実行し、共有データはこの時点で見ると元の初期化データのままです。
解決策: onSavedInstance() を使用して共有データを保存し、保存された共有データを onCreate() で使用します。
共有データの例として文字列 FileUri を使用します。
データの保存場所:
リーリー保存したデータを使用する:
リーリーまず、初期化データが onCreate にのみ配置されているかどうかを確認する必要があります。その場合、このアクティビティは異常な状況によりリサイクルされる必要があります。このアクティビティを再度入力すると、データが再初期化されます。
初期化させなければ生きていればOKです。後続のアクティビティのデータ操作は最初のアクティビティと通信していればOKです。