Loading core/java/android/view/ViewRootImpl.java +12 −23 Original line number Diff line number Diff line Loading @@ -289,8 +289,8 @@ public final class ViewRootImpl implements ViewParent, final PointF mLastTouchPoint = new PointF(); private boolean mProfileRendering; private Thread mRenderProfiler; private volatile boolean mRenderProfilingEnabled; private Choreographer.FrameCallback mRenderProfiler; private boolean mRenderProfilingEnabled; // Variables to track frames per second, enabled via DEBUG_FPS flag private long mFpsStartTime = -1; Loading Loading @@ -2037,30 +2037,19 @@ public final class ViewRootImpl implements ViewParent, if (mProfileRendering) { mRenderProfilingEnabled = enabled; if (mRenderProfiler == null) { mRenderProfiler = new Thread(new Runnable() { mRenderProfiler = new Choreographer.FrameCallback() { @Override public void run() { Log.d(TAG, "Starting profiling thread"); while (mRenderProfilingEnabled) { mAttachInfo.mHandler.post(new Runnable() { @Override public void run() { public void doFrame(long frameTimeNanos) { mDirty.set(0, 0, mWidth, mHeight); scheduleTraversals(); } }); try { // TODO: This should use vsync when we get an API Thread.sleep(15); } catch (InterruptedException e) { Log.d(TAG, "Exiting profiling thread"); if (mRenderProfilingEnabled) { Choreographer.getInstance().postFrameCallback(mRenderProfiler); } } } }, "Rendering Profiler"); mRenderProfiler.start(); }; Choreographer.getInstance().postFrameCallback(mRenderProfiler); } else { mRenderProfiler.interrupt(); Choreographer.getInstance().removeFrameCallback(mRenderProfiler); mRenderProfiler = null; } } Loading Loading
core/java/android/view/ViewRootImpl.java +12 −23 Original line number Diff line number Diff line Loading @@ -289,8 +289,8 @@ public final class ViewRootImpl implements ViewParent, final PointF mLastTouchPoint = new PointF(); private boolean mProfileRendering; private Thread mRenderProfiler; private volatile boolean mRenderProfilingEnabled; private Choreographer.FrameCallback mRenderProfiler; private boolean mRenderProfilingEnabled; // Variables to track frames per second, enabled via DEBUG_FPS flag private long mFpsStartTime = -1; Loading Loading @@ -2037,30 +2037,19 @@ public final class ViewRootImpl implements ViewParent, if (mProfileRendering) { mRenderProfilingEnabled = enabled; if (mRenderProfiler == null) { mRenderProfiler = new Thread(new Runnable() { mRenderProfiler = new Choreographer.FrameCallback() { @Override public void run() { Log.d(TAG, "Starting profiling thread"); while (mRenderProfilingEnabled) { mAttachInfo.mHandler.post(new Runnable() { @Override public void run() { public void doFrame(long frameTimeNanos) { mDirty.set(0, 0, mWidth, mHeight); scheduleTraversals(); } }); try { // TODO: This should use vsync when we get an API Thread.sleep(15); } catch (InterruptedException e) { Log.d(TAG, "Exiting profiling thread"); if (mRenderProfilingEnabled) { Choreographer.getInstance().postFrameCallback(mRenderProfiler); } } } }, "Rendering Profiler"); mRenderProfiler.start(); }; Choreographer.getInstance().postFrameCallback(mRenderProfiler); } else { mRenderProfiler.interrupt(); Choreographer.getInstance().removeFrameCallback(mRenderProfiler); mRenderProfiler = null; } } Loading