When JVM/Dalvik spends more than 98% doing GC and only 2% or less of the heap size is recovered the “java.lang.OutOfMemoryError: GC overhead limit exceeded” is thrown.
The solution is to extend heap space or use profiling tools/memory dump analyzers and try to find the cause of the problem.