อย่างที่เราทราบกันดีว่าแอพ Android จำนวนมากแสดงหน้าจอสีขาวสั้น ๆ ก่อนที่จะActivityเข้าสู่โฟกัสครั้งแรก ปัญหานี้เกิดขึ้นในกรณีต่อไปนี้:
แอป Android ที่ขยายระดับสากล
Applicationและดำเนินการเริ่มต้นที่สำคัญในนั้นApplicationวัตถุที่ถูกสร้างขึ้นเสมอก่อนที่จะเป็นครั้งแรกActivity(ความจริงที่สามารถสังเกตได้ในการดีบัก) ดังนั้นนี้ทำให้รู้สึก นี่คือสาเหตุของความล่าช้าในกรณีของฉันแอพ Android ที่แสดงหน้าต่างแสดงตัวอย่างเริ่มต้นก่อนหน้าจอเริ่มต้น
android:windowDisablePreview = "true"เห็นได้ชัดว่าการตั้งค่าไม่ทำงานที่นี่ ฉันไม่สามารถตั้งค่าธีมหลักของหน้าจอเริ่มต้นTheme.Holo.NoActionBarเป็นตามที่อธิบายไว้ที่นี่ได้เนื่องจาก [น่าเสียดาย] หน้าจอเริ่มต้นของฉันใช้ActionBarไฟล์.
ในขณะเดียวกันแอปที่ไม่ขยายApplicationชั้นเรียนจะไม่แสดงหน้าจอสีขาวเมื่อเริ่มต้น
สิ่งนี้คือหลักการเริ่มต้นที่ดำเนินการในApplicationวัตถุจำเป็นต้องเกิดขึ้นก่อนที่Activityจะแสดงครั้งแรก ดังนั้นคำถามของฉันคือฉันจะทำการเริ่มต้นเหล่านี้ในการเริ่มต้นแอปโดยไม่ใช้Applicationวัตถุได้อย่างไร อาจใช้ a ThreadหรือServiceฉันคิดว่า?
นี่เป็นปัญหาที่น่าคิด ฉันไม่สามารถข้ามมันได้ตามปกติ (โดยการตั้งค่าNoActionBarธีม) เนื่องจากน่าเศร้าที่หน้าจอ Splash ของฉันมีActionBarสาเหตุที่ไม่เกี่ยวข้องกัน
บันทึก:
ฉันได้อ้างถึงคำถามต่อไปนี้แล้ว:
อ้างอิง:
รูปแบบ - หน้าจอเปิดตัว
หน้าจอ Splash ทางขวา
Applicationชั้นเรียนแล้ว นี่เป็นเพราะวิธีการ "เริ่มเย็น" ของ Android เวอร์ชันที่ใหม่กว่า Google ได้กล่าวถึงเวลาเปิดตัวที่ Google I / O ในปีนี้และจะได้รับการแก้ไขเป็น N จากที่ฉันจำได้ ในระหว่างนี้คุณควรดูสิ่งที่ Google เรียกว่า "หน้าจอเปิดตัวที่มีตราสินค้า" นี่คือตัวอย่างวิธีการสร้าง: antonioleiva.com/branded-launch-screen - ไม่มีหน้าจอสีขาวในตอนแรกอีกต่อไป ;-) และโปรดอย่าใช้ splashscreens - มันน่ารำคาญสำหรับผู้ใช้


