私はAndroid用のアプリケーションを作成しています。私はレルムをデータベースとして使用しています。レルムはアプリ全体でうまく動作します。今は、 "NotificationExtender"クラスからデータを挿入したいと思います(これは、1つの通知を受け取ってカスタマイズするのに役立ちます)。これはoutOfMemoryエラーにつながりますどのようにこれを処理できますか?Android - 非活動クラスでレルムを使用
私のサンプルコード: 私の通知クラスでは、私はこの
RealmLibrary.insertMessageToDBFromNotificationReceiver(
jsonObject.getString("data"),
jsonObject.getString("groupKey"),
jsonObject.getString("groupKey"),
mContext);
そして、私のRealmLibraryクラスでやっている:私のgetRealm方法も
Realm realm = getRealm(applicationContext);
realm.beginTransaction();
ChatMessages chatmsg = realm.where(ChatMessages.class)
.equalTo("gUid", gUID).findFirst();
int count = 0;
if (chatmsg == null) {
// Create an new object
chatmsg = realm.createObject(ChatMessages.class);
count = 1;
chatmsg.setgUid(gUID);
} else {
}
realm.commitTransaction();
を:どのように
public static Realm getRealm(Context context) {
return Realm.getDefaultInstance();
}
は、私はこのoutOfメモリを処理できますか?誰かがエラーの原因となるコードを教えてください。どちらが非効率的なコードです..
注:これは単なるサンプルコードです。必要な詳細があれば、あなたのコメントを残してください。
logcatを参照することが有用であるおそらく –
[OK]を確認してください私の分を与えると思います。質問を更新します – Amsheer
Realmインスタンスをバックグラウンドスレッドで閉じるのは間違いありません。また、gUIDが主キーである場合は、 'chatmsg = realm.createObject(ChatMessages.class、gUID);を使用する必要があります。 – EpicPandaForce