タブレット用プログラムの書き止め

android OS & iPadOS の記録。

【kotlin】 ViewModel で Context を取り扱う

2024-03-11 20:10:06 | Android studio 日記

class.method(Context) 引数でContextを渡して済ませていた。
それができない状況が出て、ViewModel で Context を取得できるように変えた。

ViewModel のプロパティにContextを保存すると、更新で不一致になったり、参照が残るとシステムが廃棄ができなくなりメモリリークを発生させる。
なので、AndroidViewModel() を使い、getContext() が使えるようにする。

 

class MainViewModel(app:Application) : AndroidViewModel(app) {

    fun getContext(): Context {
        return getApplication()
    }
}


利用する場所では、今まで通りで対応はなし。違いは吸収されるらしい。