Wait 50 ms after gc

pull/194/head
M66B 5 years ago
parent 5e4f8b5d1e
commit 399d2f7917

@ -156,7 +156,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
return; return;
} }
Runtime.getRuntime().gc(); Helper.gc();
int free = Log.getFreeMemMb(); int free = Log.getFreeMemMb();
Map<String, String> crumb = new HashMap<>(); Map<String, String> crumb = new HashMap<>();
@ -203,7 +203,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
} }
}); });
} finally { } finally {
Runtime.getRuntime().gc(); Helper.gc();
crumb.put("free", Integer.toString(Log.getFreeMemMb())); crumb.put("free", Integer.toString(Log.getFreeMemMb()));
Log.breadcrumb("Boundary done", crumb); Log.breadcrumb("Boundary done", crumb);
@ -652,7 +652,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
ifolder = null; ifolder = null;
imessages = null; imessages = null;
Runtime.getRuntime().gc(); Helper.gc();
} }
} }

@ -326,9 +326,9 @@ class Core {
break; break;
case EntityOperation.SYNC: case EntityOperation.SYNC:
Runtime.getRuntime().gc(); Helper.gc();
onSynchronizeMessages(context, jargs, account, folder, (POP3Folder) ifolder, (POP3Store) istore, state); onSynchronizeMessages(context, jargs, account, folder, (POP3Folder) ifolder, (POP3Store) istore, state);
Runtime.getRuntime().gc(); Helper.gc();
break; break;
case EntityOperation.PURGE: case EntityOperation.PURGE:
@ -406,9 +406,9 @@ class Core {
break; break;
case EntityOperation.SYNC: case EntityOperation.SYNC:
Runtime.getRuntime().gc(); Helper.gc();
onSynchronizeMessages(context, jargs, account, folder, (IMAPStore) istore, (IMAPFolder) ifolder, state); onSynchronizeMessages(context, jargs, account, folder, (IMAPStore) istore, (IMAPFolder) ifolder, state);
Runtime.getRuntime().gc(); Helper.gc();
break; break;
case EntityOperation.SUBSCRIBE: case EntityOperation.SUBSCRIBE:

@ -532,7 +532,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
btnGC.setOnClickListener(new View.OnClickListener() { btnGC.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Runtime.getRuntime().gc(); Helper.gc();
} }
}); });

@ -1667,6 +1667,15 @@ public class Helper {
// Miscellaneous // Miscellaneous
static void gc() {
Runtime.getRuntime().gc();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
static <T> List<List<T>> chunkList(List<T> list, int size) { static <T> List<List<T>> chunkList(List<T> list, int size) {
List<List<T>> result = new ArrayList<>(list.size() / size); List<List<T>> result = new ArrayList<>(list.size() / size);
for (int i = 0; i < list.size(); i += size) for (int i = 0; i < list.size(); i += size)

Loading…
Cancel
Save