Khởi động Android có chậm không?
Điện thoại của tôi có Quad Core, 3 Gig RAM ... Android (Cả KitKat và Lollipop) mất khoảng 80 giây để khởi động để hoàn thành.
Điện thoại của tôi chỉ có lõi kép với RAM 1G (Zenfone 4) và tôi không bao giờ gặp vấn đề đó. Khởi động nguội trong ~ 60 giây, khởi động lại sau 40 giờ (CyannogenMod 12.1).
một số người dùng báo cáo thời gian khởi động chưa đến 10 giây bằng Ubuntu với systemd và khoảng 20 giây ...
Nó phụ thuộc vào cấu hình và những gì bạn coi là "thời gian khởi động" . Máy tính xách tay của tôi (i5 1st Gen, RAM 4 GB với đĩa quay) được coi là có thể sử dụng (khởi động xong) sau khoảng 90 giây. Chắc chắn tôi có thể trì hoãn / vô hiệu hóa một số dịch vụ để có thời gian khởi động nhanh hơn và khởi động chúng theo cách thủ công khi cần. Nhưng theo quan điểm của tôi, dựa trên sở thích của tôi, điều đó sẽ không được tính là có thể sử dụng được .
Trên PC vs Mobile
Có một số khác biệt bạn nên xem xét khi so sánh giữa pc và mobile linux. từ CPU xuống kernel . Sự khác biệt đáng chú ý nhất:
- Do tính chất của thiết bị, CPU di động chủ yếu được thiết kế với việc tiết kiệm năng lượng là yếu tố chính. Điều này ảnh hưởng lớn đến hiệu suất.
- Android Kernel có một số tính năng di động cụ thể mà có thể ảnh hưởng đến thời gian khởi động và phần cứng i / o truy cập.
- Hơn nữa, nhân Android được biết là có vấn đề tương thích với tuyến chính / ổn định. Điều này chủ yếu là do sở thích của nhà cung cấp để gắn bó với phiên bản kernel cũ tương thích với trình điều khiển thiết bị của họ. AOSP Marshmallow chạy
3.18.10
trong khi kernel ổn định hiện đang ở 4.6.2
.
Vậy, điều gì khiến Android khởi động quá chậm?
Tại sao chúng ta không kiểm tra? :)
Nếu bạn có quyền truy cập vào adb và đã bật Tùy chọn nhà phát triển , hãy kiểm tra nhật ký khởi động bằng cách sử dụng
adb logcat -d -b events -v threadtime | grep "boot"
trên thiết bị của tôi, đây là đầu ra:
bambang@pamungkas ~ % adb logcat -d -b events -v threadtime | grep "boot"
06-08 04:35:01.417 193 193 I boot_progress_start: 9906
06-08 04:35:03.718 193 193 I boot_progress_preload_start: 12208
06-08 04:35:07.838 193 193 I boot_progress_preload_end: 16328
06-08 04:35:08.158 513 513 I boot_progress_system_run: 16647
06-08 04:35:09.880 513 513 I boot_progress_pms_start: 18370
06-08 04:35:10.204 513 513 I boot_progress_pms_system_scan_start: 18693
06-08 04:35:24.487 513 513 I boot_progress_pms_data_scan_start: 32977
06-08 04:35:28.552 513 513 I boot_progress_pms_scan_end: 37042
06-08 04:35:28.696 513 513 I boot_progress_pms_ready: 37186
06-08 04:35:33.088 513 513 I boot_progress_ams_ready: 41578
06-08 04:35:40.755 513 533 I boot_progress_enable_screen: 49244
Như bạn có thể thấy, tổng thời gian khởi động từ VM bắt đầu cho đến khi bản vẽ màn hình ban đầu của trình quản lý cửa sổ là ~ 40 giây. Không bao gồm thời gian bổ sung cho phần sụn & không gian kernel (trên asnwer được liên kết của bạn, bản dịch này sang bước 1-4) không được bao gồm.
Chú ý rằng phải mất ~ 18 giây để xử lý toàn bộ hệ thống của gói ứng dụng ( boot_progress_pms_*
), đây dịch tới ~ 45% thời gian khởi động, trong đó bao gồm:
- làm sạch các gói hệ thống không có sẵn và cài đặt các gói không đầy đủ,
- xác nhận các ứng dụng đã cài đặt,
- thiết lập đường dẫn thư viện,
- v.v. (xem: mã nguồn hoàn chỉnh của PackageManagerService )
Vì vậy, nhìn chung, tổng thời gian khởi động phụ thuộc vào số lượng gói (ứng dụng) được cài đặt trên thiết bị. Nhiều ứng dụng hơn có nghĩa là chờ đợi lâu hơn trong quá trình pms. Ngoài ra, các hoạt động bắt đầu mất ~ 5 giây / 20% thời gian khởi động. Phần còn lại không đáng kể cũng không thể sửa đổi một cách an toàn nếu không có kiến thức sâu sắc về các hành vi hệ thống.
Tôi có thể làm gì để tăng tốc quá trình khởi động không?
- Hãy thử ROM khác. Sony là một trong những "người tốt" , người cung cấp môi trường lành mạnh cho những người đi săn. Tôi khuyên dùng AOSP hoặc Cyanogen . Chỉ cần nhận thức được những hạn chế
- Kiểm tra, đừng giả sử! Thật dễ dàng để giả định rằng A khởi động chậm, B nhanh hơn. Một lệnh logcat đơn giản như trên sẽ tiết lộ một số thông tin hữu ích để đo điểm chuẩn thời gian khởi động cơ bản giữa các ROM.
- Nếu bạn biết bạn đang làm gì , Embedded Linux Wiki có một danh sách các điều chỉnh có thể để cải thiện thời gian khởi động.
Về cải thiện thời gian khởi động
Về nhận xét của bạn
ART được thiết kế để làm cho các ứng dụng chạy nhanh hơn. Ai đang làm việc trên một cái để làm cho việc khởi động nhanh hơn ra khỏi hộp ?
Theo tôi, điều chỉnh thời gian khởi động là không cần thiết và mang lại lợi ích không đáng kể. Vì về mặt lý thuyết , điện thoại của bạn sẽ ở lại hầu hết thời gian; điều quan trọng hơn nhiều là duy trì sự ổn định của hệ thống (với sự đánh đổi của quá trình khởi động lâu hơn) để đảm bảo thời gian hoạt động cao hơn và ít lỗi hơn.