3
私はKotlin合成プロパティがCustomViewsで動作しないことに気付きました。それが意図されているかどうかわかりません。生成されたJavaクラスを読むとき、私はキャッシュが存在することを確認します:Kotlin合成プロパティ
private HashMap _$_findViewCache;
これは決して使用されません。代わりに、ビューが必要なときはいつでも、findViewById
が呼び出されます。これはデフォルトの動作ですか?アクティビティーやフラグメントにのみ作用する合成プロパティー?
'_ $ _ findViewCache'フィールドは' Activity'と 'Fr 'で自動的に生成されます「授業」クラス。カスタムビュークラスの中に '_ $ _ findViewCache'がありますか? – yanex
はい。コードが生成されます(マップとキャッシュ関数がそこにあります)。しかし、synteheticを介してプロパティにアクセスすると、findViewByIdバイトコードに変換されます(私は 'Kotlin Bytecode'オプションを通して参照してください)。 –
これはバグであればちょっと重大です。特に、アニメーションを実行するビューでは、findViewbyIdが何度も呼び出されます。あなたが余分な情報が必要な場合は私に教えてください –