L平台上频繁GC导致UI卡顿
[DESCRIPTION]
在L平台上频繁GC导致UI发生卡顿,通过systrace和log来判断是否是GC导致的,如果是,则可以使用下面的解决方案
[SOLUTION]
请按照如下的修改测试:
/Frameworks/base/core/jni/android_util_Binder.cpp
158static void incRefsCreated(JNIEnv* env)
159{
160 int old = android_atomic_inc(&gNumRefsCreated);
161 if (false) { //
162 android_atomic_and(0, &gNumRefsCreated);
163 env->CallStaticVoidMethod(gBinderInternalOffsets.mClass,
164 gBinderInternalOffsets.mForceGc);
165 } else {
166 ALOGV("Now have %d binder ops", old);
167 }
168}
169
原文:http://bbs.16rd.com/thread-54281-1-148.html
在L平台上频繁GC导致UI发生卡顿,通过systrace和log来判断是否是GC导致的,如果是,则可以使用下面的解决方案
[SOLUTION]
请按照如下的修改测试:
/Frameworks/base/core/jni/android_util_Binder.cpp
158static void incRefsCreated(JNIEnv* env)
159{
160 int old = android_atomic_inc(&gNumRefsCreated);
161 if (false) { //
162 android_atomic_and(0, &gNumRefsCreated);
163 env->CallStaticVoidMethod(gBinderInternalOffsets.mClass,
164 gBinderInternalOffsets.mForceGc);
165 } else {
166 ALOGV("Now have %d binder ops", old);
167 }
168}
169
原文:http://bbs.16rd.com/thread-54281-1-148.html