Như chúng ta đã biết, nhiều ứng dụng Android hiển thị màn hình trắng rất nhanh trước khi xuất hiện lần đầu tiên Activity
. Vấn đề này được quan sát trong các trường hợp sau:
Các ứng dụng Android mở rộng phạm vi toàn cầu
Application
và thực hiện các bước khởi tạo lớn trong đó. ĐốiApplication
tượng luôn được tạo trước đối tượng đầu tiênActivity
(một thực tế có thể được quan sát trong trình gỡ lỗi), vì vậy điều này có ý nghĩa. Đây là nguyên nhân gây ra sự chậm trễ trong trường hợp của tôi.Các ứ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.
Cài đặt android:windowDisablePreview = "true"
rõ ràng không hoạt động ở đây. Tôi cũng không thể đặt chủ đề chính của màn hình giật gân thành Theme.Holo.NoActionBar
như được mô tả ở đây , vì [rất tiếc] màn hình giật gân của tôi sử dụng một ActionBar
.
Trong khi đó, các ứng dụng không mở rộng Application
lớp sẽ không hiển thị màn hình trắng khi khởi động.
Vấn đề là, lý tưởng nhất là các lần khởi tạo được thực hiện trong Application
đối tượng cần phải xảy ra trước khi lần đầu tiên Activity
đượ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 sử dụng một Application
đối tượng? Có thể sử dụng một Thread
hoặc Service
, tôi cho là?
Đâ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 đặt NoActionBar
chủ đề), vì thật bi thảm là màn hình Splash của tôi thực sự có một ActionBar
số lý do không liên quan.
Ghi chú:
Tôi đã tham khảo các câu hỏi sau:
Người giới thiệu:
Application
lớp. Điều này là do các phiên bản mới hơn của cách "khởi động lạnh" các ứng dụng của Android. Google thực sự đã giải quyết thời gian ra mắt tại Google I / O năm nay và nó sẽ được ấn định thành N theo những gì tôi nhớ. Trong thời gian chờ đợi, bạn nên xem cái mà Google gọi là "màn hình khởi chạy có thương hiệu". Đây là một ví dụ về cách tạo nó: antonioleiva.com/branded-launch-screen - không còn màn hình trắng khi bắt đầu ;-) Và vui lòng không sử dụng các màn hình giật gân - nó gây khó chịu cho người dùng.