Şu anda çok yoğun ve ekran rotasyonunu çok iyi kullanmıyor canlı bir duvar kağıdı üzerinde çalışıyorum.Live Wallpaper Ekran Rotasyonu
Aslında duvar kağıdı yok edildi ve arama yapmadan boş bir ekran görüntüleniyorSurfaceChanged! İşte
Ben onSurfaceChanged yöntemi içinde ne var:
@Override
public void onSurfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
// TODO Auto-generated method stub
super.onSurfaceChanged(holder, format, width, height);
mRatio = (float) width/height;
if (mRatio > 1) {
orientation = 0;
}
if (mRatio < 1) {
orientation = 1;
}
setRunning(true);
Log.i(TAG, "Screen Rotation...");
mHandle.post(r);
}
hiçbir günlük mesajı olmadığından bu yöntem denilen almaz eminim.
Bu neden oluyor ve ekran döndürme işleminin bazı teknikleri nelerdir? Canlı duvar kağıdım o kadar yoğun olabilir ki boşluk aranamaz?
Ayrıca onVisibilityChanged değil de denir ve ben emülatörünüzde uygulamaları açtığınızda, hiçbir günlük mesajı vardır: Manifest'inizde olarak
@Override
public void onVisibilityChanged(boolean visible) {
// TODO Auto-generated method stub
super.onVisibilityChanged(visible);
if (visible) {
setRunning(true);
Log.i(TAG, "Visible...");
mHandle.postDelayed(r, 2000);
} else {
setRunning(false);
Log.i(TAG, "Invisible...");
mHandle.removeCallbacks(r);
}
}
:
onVisibilityChanged
adından ne beklenir değil Daha fazla kod gönderebilir misiniz? Tüm ağır işlerin nerede yapıldığını bilmek gerekiyor. Canlı Duvar Kağıtlarım'da, hem onSurfaceChanged hem de onVisibilityChanged ekran rotasyonları sırasında çağrılır. Ayrıca, yön değiştirme sırasında "Kaydırma için duvar kağıdı için zaman aşımı bekleme" gibi bir şey için LogCat kontrol edin. cevap için – Ole