Androidミニ講座

Realmでデータベースを閉じる処理(Realm#close)を忘れてしまうと何が起こるのか

更新日:

 

みんプロでは毎度おなじみのモバイル用軽量データベース「Realm」では、データベースは開いたら(Realm.getDefaultInstance())、必ず閉じる処理(Realm#close())を行わないといけないとされています。

では、この閉じる処理を忘れてしまったら、何が起こってしまうのでしょうか。

 

Realm#closeを忘れてしまうと何が起こるのか [KotlinでAndroidアプリプログラミング・ミニ動画講座 #091]で学べること

Realmの中の人によると、close()を忘れても(=Realmを閉じてないことによって)データが壊れたりすることはないので、特段問題はないらしい

今後自動でcloseすることを検討中であるとの見解が出されているらしい

【ご参考】closeするタイミングについて

https://github.com/realm/realm-java/issues/1045

If the OS takes the drastic decision to kill the app without calling onDestroy(), you still don't risk to have your data corrupted. Some native memory might not be properly deallocated, but that's it. On the other side we are also considering to change the Realm closing strategy to something more automatic and user-friendly. We need to conduct some test to see if performance would be affected.

 

 

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい

公式ブログで随時情報発信中!!

みんプロニュース

用語

Android


 

みんプロへのお問い合わせはこちらよりお気軽にお寄せ下さい

-Androidミニ講座

Copyright© みんなのプログラミング by Telulu LLC , 2018 All Rights Reserved.