Tôi có một ứng dụng được liệt kê dưới 25% dưới cùng trong Google Play Console mới - phần vitals Android để hiển thị chậm. Tôi lo ngại về điều này vì such articles dường như nói rằng Google Play có thể phạt ứng dụng của bạn trong thứ hạng Cửa hàng Play nếu bạn rơi vào 25% dưới cùng.Cách khắc phục sự cố hiển thị chậm (Android vitals)
Tuy nhiên, có vẻ như không thể cải thiện chỉ số này cho ứng dụng của tôi. Nó chơi nhạc và có một SeekBar và TextView được cập nhật mỗi 250ms như bất kỳ máy nghe nhạc nào. Tôi đã thực hiện chương trình cơ bản tối thiểu để chứng minh:
public class MainActivity extends AppCompatActivity {
int count;
SeekBar seekBar;
TextView textView;
Runnable runnable =
new Runnable() {
@Override
public void run() {
textView.setText(Integer.toString(count));
seekBar.setProgress(count);
++count;
seekBar.postDelayed(runnable, 250);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seekBar = (SeekBar) findViewById(R.id.seek);
textView = (TextView) findViewById(R.id.text);
seekBar.post(runnable);
}
}
Full dự án ở đây: https://github.com/svenoaks/SlowRendering.git
Khi tôi chạy chương trình này trên phần cứng tương tự như các thiết bị Nexus, tôi nhận được những kết quả này cho một lệnh
adb shell dumpsys gfxinfo com.example.xyz.slowrendering
:
Stats since: 19222191084749ns
Total frames rendered: 308
Janky frames: 290 (94.16%)
90th percentile: 32ms
95th percentile: 36ms
99th percentile: 44ms
Number Missed Vsync: 2
Number High input latency: 0
Number Slow UI thread: 139
Number Slow bitmap uploads: 0
Number Slow issue draw commands: 283
Điều này có nghĩa là hầu như tất cả các khung hình của tôi chụp> 16ms để hiển thị, tôi đoán là do bản chất định kỳ của quá trình cập nhật. Tất cả các ứng dụng trình phát nhạc khác mà tôi đã thử nghiệm cũng có vấn đề về Làm chậm này theo như tôi thấy. Tôi sợ thuật toán của Google phá hỏng thứ hạng ứng dụng của tôi, có cách nào để tôi có thể cải thiện điểm số của mình không?
Tôi đặt layout_width thành match_parent và vẫn là khung hình janky, trên cả Moto X Pure và Galaxy S8 +. Mặc dù với X Pure, danh mục 'Chủ đề giao diện người dùng chậm' có vài khung hình và khung hình phần trăm thứ 90 đến 99 chỉ được giảm xuống còn hơn 20 mili giây. –
Bạn đang nói về dự án mẫu hay ứng dụng sản xuất của mình? –
Các khung Janky trong dự án mẫu ngay cả với match_parent –