سؤال

لدي بعض الخبرة مع SurfaceView. لمنع إعادة رسم غير ضروري ، أستخدم دائمًا متغير العد التنازلي الذي يخبر الخيط عدد المرات التي يجب فيها رسم العرض.

countdown > 0 : draw ? doNothing

ومع ذلك كنت أفكر في تغيير ذلك لاستخدام "سطح الدفع". لذا ، ما عليك سوى دفع المخزن المؤقت إلى السطح وأظهر أنه بدلاً من تعيين متغير العد التنازلي في كل مكان في مشروعي.

مشكلتي هي أنه لا يمكنني العثور على برنامج تعليمي/مورد جيد حيث يتم وصف الاستخدام. حاليا لدي شيء مثل هذا:

// panel is the SurfaceView
c = panel.getHolder().lockCanvas(null);
synchronized (panel.getHolder()) {
    panel.updatePhysics();
    panel.onDraw(c);
}
panel.getHolder().unlockCanvasAndPost(c);

ليس لدي أي فكرة عن كيفية الحصول على قماش للاستفادة منه عندما لا يمكنني استخدام lockCanvas() كما ذكر في الوثائق.

هل كانت مفيدة؟

المحلول

هذا السؤال عفا عليه الزمن بعد جعل أنواع السطح مستاءة. لذلك لم يعد يستخدم ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top