極端なテストケースでは、大きな画像から小さなNSImageView(32x32ピクセル)を作成しています。多くの場合、512x512、さらには4096x2048です。私の問題は、極端なテストケースでは、サムネイルを表示するとアプリケーションのメモリフットプリントが15 MB以上増加するように見えることです。これにより、NSImageが32x32ではなく4096x2048としてメモリに保存されていると思われ、そこにあるかどうか疑問に思いました。これを回避する方法です。NsImageViewを作成するために実行するプロセスは次のとおりです。
•最初に、initByReferencingFileを使用してNSImageを作成します:( 4096x2048 .pngファイルを指す)
•次に、initWithFrameを呼び出してNSImageViewを初期化します。
•次に、setImage:を呼び出して、NSImageをNSImageViewに割り当てます。
•最後に、NSImageViewをNSScaleProportionallyに設定しました
NSImageのサイズを32x32に強制することは明らかに何もしていませんが、これを処理するための適切な方法を見つけるのに苦労しました。