Như chúng ta đã biết, nhiều ứng dụng Android hiển thị màn hình trắng rất ngắn trước khi tập trung Activity
đầu tiên của chúng. Vấn đề này được quan sát thấy trong các trường hợp sau đây:Android - Ngăn màn hình trắng lúc khởi động
Android ứng dụng mở rộng các lớp
Application
toàn cầu và thực hiện khởi tạo lớn trong đó. Đối tượngApplication
luôn được tạo trướcActivity
đầu tiên (thực tế có thể được quan sát thấy trong trình gỡ lỗi), do đó điều này có ý nghĩa. Đây là nguyên nhân của sự chậm trễ trong trường hợp của tôi.Ứng dụng Android hiển thị cửa sổ xem trước mặc định trước màn hình giật gân.
Thiết lập android:windowDisablePreview = "true"
rõ ràng không hoạt động ở đây. Tôi cũng không thể đặt chủ đề gốc của màn hình giật gân thành Theme.Holo.NoActionBar
như được mô tả here, vì [tiếc là] màn hình giật gân của tôi sử dụng số ActionBar
.
Trong khi đó, các ứng dụng mà không mở rộng Application
lớp không hiển thị màn hình trắng lúc khởi động.
Điều này lý tưởng là các khởi tạo được thực hiện trong đối tượng Application
cần phải xảy ra trướcActivity
đầu tiên được hiển thị. Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể thực hiện các khởi tạo này khi khởi động ứng dụng mà không cần sử dụng đối tượng Application
? Có thể sử dụng một số Thread
hoặc Service
, tôi cho là như vậy?
Đây là một vấn đề thú vị để suy nghĩ. Tôi không thể bỏ qua nó theo cách thông thường (bằng cách thiết lập các chủ đề NoActionBar
), như tragically màn hình Splash của tôi thực sự có một ActionBar
do một số lý do không liên quan.
Lưu ý:
tôi đã giới thiệu đến các câu hỏi sau:
Tài liệu tham khảo:
Bạn đã tìm thấy vấn đề, bạn đang làm nhiều init trong ngữ cảnh ứng dụng, chặn tải hoạt động, cố gắng không đồng bộ hóa hoạt động này, cho phép hoạt động tải hiển thị cho đến khi một số chuỗi kết thúc. – AxelH
[This] (http://stackoverflow.com/questions/35054872/how-to-pre-load-mainactivity-in-splashactivity-so-there-would-be-no-delay-when-l) có thể giúp – Max
Bạn đã nhìn vào tải chậm? Tôi tin rằng bạn đang đi đúng hướng với các dịch vụ không nằm trên chuỗi chính. –