1

私はジュニアAndroid開発者です。アンドロイドUIデザインの場合、ほとんどのアンドロイド開発者はレイアウトデザインにXMLを使用すると思います。今日、私の上級開発者は、レイアウト設計にXMLを使用しないと言いました。すべてのUIデザインは、コードを使用して生成します。彼が言った理由は、レイアウトリソースがAndroidによって自動的に解放されないためです。JNIを使​​用してレイアウトリソースを解放します。彼は私がとても後輩だと思っているので、彼はあなたに詳細を話しません。

彼が本当かどうか聞きたい。彼の見方がわからない。しかし、私は彼のコードが再利用できないことを確認します。また、Androidがライフサイクルでレイアウトリソースをリリースする方法。

ありがとう。

4

1 に答える 1

3

彼が言った理由は、レイアウトリソースがAndroidによって自動的にリリースされないためです

レイアウトリソースを膨らませて作成されたウィジェットは、それらのウィジェットがアクティビティから削除された場合、またはアクティビティが破棄された場合に「Androidによって自動的に解放」されます。つまり、ウィジェットは他のJavaオブジェクトと同じようにガベージコレクションされます。また、これは、ウィジェットがレイアウトリソースを使用して作成されたかどうかに関係なく当てはまります。

レイアウトリソースの解析されたXMLはプロセスによってキャッシュされると考えられるため、同じレイアウトが再度必要になった場合は、解析手順をスキップできます。これはあまりメモリにはなりません。このような小さなメモリキャッシュを回避するためにXMLレイアウトリソースを回避することは非常に近視眼的であり、真の「上級開発者」に期待することではありません。

JNIを使​​用して、レイアウトリソースを解放します

JNIはレイアウトリソースとは何の関係もありません。JNIもウィジェットとは何の関係もありません。

彼は私がとても後輩だと思っているので、彼はあなたに詳細を話しません。

彼は彼の発見を文書化し、彼の主張の証拠と彼の決定の正当性を提供することを歓迎します。

于 2012-07-19T13:47:17.190 に答える