RENDERMODE_WHEN_DIRTY içinde bir GLSurfaceView (SD sürüm 7) kullanıyorum. Belgeler, onPause/onResume'u çağırmam gerektiğini söylüyor, ama bu olmadan gayet iyi çalışıyor, bu yüzden merak ediyorum. Gerekli mi? Yapmazsam ne olur?GLSurfaceView: OnPause/onResume'i çağırmalı mıyım?
5
A
cevap
10
GLSurfaceView en OnPause uygulanması şuna benzer:
/**
* Inform the view that the activity is paused. The owner of this view must
* call this method when the activity is paused. Calling this method will
* pause the rendering thread.
* Must not be called before a renderer has been set.
*/
public void onPause() {
mGLThread.onPause();
}
görebilirsiniz (ve belgelerine durumları) bu render iplik durakladığı.
Yaniprivate void stopEglLocked() {
if (mHaveEgl) {
mHaveEgl = false;
mEglHelper.destroySurface();
mEglHelper.finish();
sGLThreadManager.releaseEglSurface(this);
}
}
bunu görebilirsiniz pahalı bir sistem kaynaktır yüzeyini tahrip ve ayrıca sistem kaynakları korunmasını sağlar) (beklenecek parçacığı neden olur: Bu şuna benzer stopEglLocked için GLTHREAD'ın bir iç çağrısı neden olur Bu nedenle, GLSurfaceView'un onPause ve onResume'yi çağırmak kesinlikle gereklidir.
İlgili konular
- 1. Bağlam ve InitialContext - Bu nesneler üzerinde close() yöntemini çağırmalı mıyım?
- 2. İşlem, çıkış kodu 0 ile bittiğinde Process.destroy() yöntemini çağırmalı mıyım?
- 3. .NET ApplicationSettingsBase Yüklediğiniz her zaman Upgrade() öğesini çağırmalı mıyım?
- 4. Düğme ve GLSurfaceView
- 5. Bir PopupWindow'da GLSurfaceView
- 6. Android glSurfaceView/Java
- 7. session.close() öğesini ve kümeyi çağırmalı mıyım? her web API çağrısından sonra kapat()
- 8. ASP.NET için C# içinde bir yöntemi geçersiz kılarken temel sınıf uygulamasını çağırmalı mıyım?
- 9. Android Görünümler arasında GLSurfaceView nasıl eklenir?
- 10. Overlay Şeffaf GLSurfaceview android mevcut görünümüne?
- 11. Bir unique_ptr atamalı mıyım yoksa sıfırlamalı mıyım?
- 12. CURL'yi kapatmalı mıyım yoksa yapmamalı mıyım?
- 13. Performans: Bir değişkeni başlatmalı mıyım yoksa 'bunu kullanmalı mıyım?
- 14. Bir kişi resetProxy ve ClearSelf yöntemlerini çağırmalı mı?
- 15. Açısal direktiflerimi adlandırmalı mıyım?
- 16. Dinleyicileri serbest bırakmalı mıyım?
- 17. AssemblyConfigurationAttribute ayarlamalı mıyım?
- 18. Bu sınıfta kullanmalı mıyım?
- 19. matplotlib backends - umrumda mıyım?
- 20. StringIO.close() yapmak zorunda mıyım?
- 21. Android Ice Cream Sandwich'te GLSurfaceView ile TextureView ile nasıl değiştirilir?
- 22. GLSurfaceView ANR aktivitesine neden olan EVR neden yok
- 23. Birden çok GLSurfaceView bileşenini aynı Düzen'de nasıl kullanabilirim?
- 24. GLSurfaceView, render kipi değiştirilmesine rağmen sürekli olarak iş görür
- 25. o recycler görünümünde GPUImageView/GLSurfaceview kullanmak mümkün mü?
- 26. Parametrelere bağlanırsam mysql_real_escape_string kullanmalı mıyım?
- 27. Bir jest tanıyıcı bırakmalı mıyım?
- 28. Raylar 3.1: CoffeeScript kullanmalı mıyım?
- 29. Miras veya kompozisyon kullanmalı mıyım?
- 30. Pytron ile wtform kullanmalı mıyım?
Uygulamadan çıkıp geri döndüğünüzde bile iyi çalışıyor mu? GlSurfaceView'ı uygulamadan çıktıktan ve uygulamaya döndükten sonra çalışmaya devam edebilmem için her zaman, OnPause ve onResume'yi uygulama gereği duydum. – Nitrex88
Evet, bu, her koşulda iyi çalışıyor: ana ekran geri dönüşü, ekran kapama-açma-geri dönüşü, odağı kaybetme ve geri dönme. Birkaç hafta boyunca iyi çalışıyor ve belgelerindeki onPause yazılarını okudum, bu yüzden merak ediyorum. – ADB