मेरे पास एक कस्टम व्यू समूह है। उस कस्टम व्यू समूह में कई कस्टम दृश्य हैं। कस्टम विचार सभी एक दूसरे को लेआउट में ओवरलैप करते हैं।अमान्य 1 कस्टम व्यू एक दृश्य समूह में सभी कस्टम दृश्यों को अमान्य करने का कारण बनता है?
अतिव्यापी विचार "परतें" बनाने के लिए आवश्यक हैं। तो एक परत कुछ स्थैतिक सामग्री बना सकती है, लेकिन एक और स्तरित दृश्य अलग एनिमेटेड सामग्री बनाता है। समस्या तब आती है जब मैं किसी अन्य थ्रेड से .postInvalidate को एक दृश्य पर कॉल करता हूं जो मूल रूप से एक एनीमेशन है जो 60FPS पर चलता है। स्तरित दृश्यों के बाहर 60FPS डिवाइस का उपयोग कर रहा है (गैलेक्सी एस 3)।
इस कस्टम व्यू समूह के अंदर, .invalidate 2 हार्डवेयर प्रस्तुत किए गए दृश्यों में से 1 को अमान्य करने का कारण बनता है, और कुछ सॉफ़्टवेयर दृश्य इसके साथ अमान्य होने का कारण बनता है।
MyCustomViewThatShouldNotInvalidate(AbstractDialLayer).onDraw(Canvas) line: 68
MyCustomViewThatShouldNotInvalidate.onDraw(Canvas) line: 79
MyCustomViewThatShouldNotInvalidate(View).draw(Canvas) line: 13650
MyCustomViewThatShouldNotInvalidate(View).draw(Canvas, ViewGroup, long) line: 13534
MyCustomViewGroup(ViewGroup).drawChild(Canvas, View, long) line: 2938
MyCustomViewGroup(ViewGroup).dispatchDraw(Canvas) line: 2808
MyCustomViewGroup(View).buildDrawingCache(boolean) line: 12909
MyCustomViewGroup(View).getDisplayList(DisplayList, boolean) line: 12580
MyCustomViewGroup(View).getDisplayList() line: 12645
RelativeLayout(ViewGroup).dispatchGetDisplayList() line: 2920
RelativeLayout(View).getDisplayList(DisplayList, boolean) line: 12537
RelativeLayout(View).getDisplayList() line: 12645
RelativeLayout(ViewGroup).dispatchGetDisplayList() line: 2920
RelativeLayout(View).getDisplayList(DisplayList, boolean) line: 12537
RelativeLayout(View).getDisplayList() line: 12645
NoSaveStateFrameLayout(ViewGroup).dispatchGetDisplayList() line: 2920
NoSaveStateFrameLayout(View).getDisplayList(DisplayList, boolean) line: 12537
NoSaveStateFrameLayout(View).getDisplayList() line: 12645
ViewPager(ViewGroup).dispatchGetDisplayList() line: 2920
ViewPager(View).getDisplayList(DisplayList, boolean) line: 12537
ViewPager(View).getDisplayList() line: 12645
LinearLayout(ViewGroup).dispatchGetDisplayList() line: 2920
LinearLayout(View).getDisplayList(DisplayList, boolean) line: 12537
LinearLayout(View).getDisplayList() line: 12645
RelativeLayout(ViewGroup).dispatchGetDisplayList() line: 2920
RelativeLayout(View).getDisplayList(DisplayList, boolean) line: 12537
RelativeLayout(View).getDisplayList() line: 12645
NoSaveStateFrameLayout(ViewGroup).dispatchGetDisplayList() line: 2920
NoSaveStateFrameLayout(View).getDisplayList(DisplayList, boolean) line: 12537
NoSaveStateFrameLayout(View).getDisplayList() line: 12645
LinearLayout(ViewGroup).dispatchGetDisplayList() line: 2920
LinearLayout(View).getDisplayList(DisplayList, boolean) line: 12537
LinearLayout(View).getDisplayList() line: 12645
LongPressGestureDetectingFrameLayout(ViewGroup).dispatchGetDisplayList() line: 2920
LongPressGestureDetectingFrameLayout(View).getDisplayList(DisplayList, boolean) line: 12537
LongPressGestureDetectingFrameLayout(View).getDisplayList() line: 12645
FrameLayout(ViewGroup).dispatchGetDisplayList() line: 2920
FrameLayout(View).getDisplayList(DisplayList, boolean) line: 12537
FrameLayout(View).getDisplayList() line: 12645
LinearLayout(ViewGroup).dispatchGetDisplayList() line: 2920
LinearLayout(View).getDisplayList(DisplayList, boolean) line: 12537
LinearLayout(View).getDisplayList() line: 12645
CustomViewAbove(ViewGroup).dispatchGetDisplayList() line: 2920
CustomViewAbove(View).getDisplayList(DisplayList, boolean) line: 12537
CustomViewAbove(View).getDisplayList() line: 12645
SlidingMenu(ViewGroup).dispatchGetDisplayList() line: 2920
SlidingMenu(View).getDisplayList(DisplayList, boolean) line: 12537
SlidingMenu(View).getDisplayList() line: 12645
PhoneWindow$DecorView(ViewGroup).dispatchGetDisplayList() line: 2920
PhoneWindow$DecorView(View).getDisplayList(DisplayList, boolean) line: 12537
PhoneWindow$DecorView(View).getDisplayList() line: 12645
HardwareRenderer$Gl20Renderer(HardwareRenderer$GlRenderer).draw(View, View$AttachInfo, HardwareRenderer$HardwareDrawCallbacks, Rect) line: 1170
ViewRootImpl.draw(boolean) line: 2275
ViewRootImpl.performDraw() line: 2147
ViewRootImpl.performTraversals() line: 1958
ViewRootImpl.doTraversal() line: 1112
ViewRootImpl$TraversalRunnable.run() line: 4474
Choreographer$CallbackRecord.run(long) line: 725
Choreographer.doCallbacks(int, long) line: 555
Choreographer.doFrame(long, int) line: 525
Choreographer$FrameDisplayEventReceiver.run() line: 711
Handler.handleCallback(Message) line: 615
Choreographer$FrameHandler(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 137
ActivityThread.main(String[]) line: 4918
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 1004
ZygoteInit.main(String[]) line: 771
NativeStart.main(String[]) line: not available [native method]
क्या आपके पास कोई कोड है जिसका उपयोग इसे पुन: बनाने के लिए किया जा सकता है? –