1. 程式人生 > >優化app啟動頁 解決黑屏時間長的問題

優化app啟動頁 解決黑屏時間長的問題

要解決這個問題其實挺簡單的只需要一個樣式style即可

1、在style.xml中新增下面的style  設定啟動圖片

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- 歡迎頁背景 -->
        <item name="android:windowBackground">@mipmap/activity_welcom_bg_splash</item>
        <item name="android:windowFullscreen">true</item>

    </style>

2、在配置檔案AndroidManifest.xml的啟動activity中設定style

<activity
            android:name=".login.Welcome"
            android:screenOrientation="portrait"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

3、啟動頁activity

package com.first.mzystore.login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.ImageView;

import com.first.mzystore.R;
import com.first.mzystore.base.BaseActivity;
import com.first.mzystore.constant.SpKey;
import com.first.mzystore.home.HomeActivity;
import com.first.mzystore.utils.SpUtil;
import com.first.mzystore.utils.StatusBarUtil;

/**
 * @Company 
 * @Created by wyx on 2016/1/21.
 * @Description 歡迎頁
 * @version: v2.0
 */
public class Welcome extends Activity {
    private AlphaAnimation mStart_anima;
    View mView;
    private ImageView mImgVHome;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        //下面是一個執行緒 1秒後跳轉到對應的頁面
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                redirectTo();
            }
        }, 1000);
    }



    private void redirectTo() {
        if (SpUtil.getInstance(this).getBoolean(SpKey.IS_FIRST_LOGIN, true)) {
            startActivity(new Intent(this, com.first.mzystore.login.WelcomePagesActivity.class));
        } else {
            if(SpUtil.getInstance(this).getBoolean("isLogin", false)==false){
                if(SpUtil.getInstance(this).getInt("USER_LOGIN_WAY",0)==1){
                    startActivity(new Intent(this, HomeActivity.class));
                }else {
                    SpUtil.getInstance(this).put("loginType", 1);
                    Intent intent = new Intent(this, LoginActivity.class);
                    startActivity(intent);
                }
            }else {
                startActivity(new Intent(this, HomeActivity.class));
            }
        }
        finish();
    }
}
4、這樣就解決了啟動頁黑屏的問題,能夠瞬間開啟 。如果好用就給個贊吧

相關推薦

優化app啟動 解決時間的問題

要解決這個問題其實挺簡單的只需要一個樣式style即可1、在style.xml中新增下面的style  設定啟動圖片<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">     

解決Android首次啟動APP時,顯示空白或者時間的問題

問題描述: 第一次啟動app(冷啟動,如果不明白冷啟動和熱啟動的話,可以百度一下),會出現白屏或者黑屏,而且當代碼量增多的時候,出現的時間很長。這樣的使用者體驗多不好。下面我寫了一個小例子,先模擬一下該問題的效果圖,以及解決問題後的效果圖。處理前有空白頁如圖1,

Android App 啟動(Splash)/白閃現象產生原因與解決辦法

驚鴻一瞥 微信的啟動頁,相信大家都不陌生。 不知道大家有沒有發現一個現象,微信每次啟動的時候,是直接進入這個啟動頁面。 我的意思是,很多應用,往往會先白屏停頓一下後再進入啟動頁面(Splash)。為了印證這一點,我把手機上所有的App都點了一遍。選幾個例子

Android App 啟動(Splash)/白閃現象

寫這篇文章,首先要感謝寫此文章的人,其部落格連結如下: http://blog.csdn.net/zivensonice/article/details/51691136 其讓我看到了事件發生的原委! 直接說解決方案: 方案一: 將載入頁Loading

win10開機時間或只有滑鼠解決辦法,親測可用

2018.10.24,hp暗夜精靈重灌系統後第二次開機出現黑屏,去官方店修居然要50。呵呵呵呵呵。 有個問題是開機沒法開啟win+R,可以先開啟工作管理員(黑屏是可以開工作管理員的)。之後:新任務——瀏覽——開啟我的電腦,c盤,之後搜尋gpedit.msc這個檔案,找到之後

聯想Y470安裝win10之後開機時間解決方法

本人的電腦聯想Y470在升級win10之後(兩年前),一直在顯示卡驅動這裡遇到坑。主要是顯示卡驅動的版本一直不合適,用驅動精靈檢測也是找不到合適的版本。建議大家不要升級驅動的型號吧,硬體配置比較低了。 昨天在開機的狀態下面,突然出現藍屏的情況,後來升級了一下w

Android APP啟動解決辦法

前言 相信做過Android的朋友都知道,當一個APP啟動時,介面會首先展示一個白屏或者黑屏,然後再進入歡迎頁,稍作停留最後進入APP主頁。那麼這個黑屏或者白屏到底是怎麼一回事呢?它的最好的解決方案應該是怎樣的呢?今天我們認真的討論一下這個小問題。 歷史原因 當系統啟動一個APP時,zygote程序會首

關於android app啟動和華為手機啟動圖片跳躍閃的問題

1、產生原因           關於點選app圖標出現白屏和黑屏的產生原因,首先要說的就是app的啟動模式:冷啟動(cold start),暖啟動(warm start),熱啟動(lukewarm start)。冷啟動:是指程序從無到有的過程。因為要進行頁面初始化,所以相對

虛擬機中linux系統啟動後 一直解決辦法

參數錯誤 初始化 原因 網絡編程 應用 編程 計算 body dns 情況一(一直黑屏):宿主機(windows)管理員模式運行CMD, netsh winsock reset 然後重啟電腦   netsh winsock reset命令,作用是重置 Winsock

VMware虛擬機器啟動後出現,無法進入系統的解決辦法

問題:在VMware中裝了虛擬機器,但是在啟動後一直處於黑屏而無法進入系統,也沒有報錯提示,出現這種問題的主要原因是VMware軟體跟本地網路規範有所衝突,解決辦法也簡單,重置一下網路規範就好了,具體的操作方法如下: 1.以管理員身份執行cmd控制檯程式 2.在cmd視窗中輸入netsh

Android 解決啟動頁面短暫問題

Android 開發過程中 啟動頁面偶爾會有黑屏的情況 黑白屏問題的原因 activity生命週期先執行onResume()方法,如果此方法中執行了耗時操作,阻塞了主執行緒,很明顯就會出現黑白屏問

Android APP啟動時出現白或者怎麼辦?

1、為什麼APP啟動時會出現白屏或者黑屏? 當開啟一個Activity時,如果這個Activity所屬的應用還沒有在執行,系統會為這個Activity所屬的應用建立一個程序,但程序的建立與初始化都需要時間,在這個動作完成之前系統要做什麼呢?如果沒有任何反應的話

ionic3開發系列——打包APK執行,啟動後白幾秒,解決方案

問題描述: 開發過程中發現ionic3專案打包後在真機上執行,啟動頁後會有3-5秒的白屏時間。 解決方法: 在config.xml新增以下屬性: <!--預設有前四個配置,後面三個是另外新增

Android APP啟動時出現白或者

問題描述: 啟動APP時會有短暫的白屏或者黑屏,大概1~2秒後,才會顯示主介面或者顯示啟動頁。 問題原因: 開啟一個Activity時,如果這個Activity所屬的應用還沒有在執行,系統會為這個Activity所屬的應 用建立

app啟動執行時不滿,上下有

iOS開發中,使用真機,或模擬器除錯時,當APP啟動後,會出現不滿屏的情況,即上下出現黑邊。 如下圖所示:   造成這種顯示異常的原因是因為應用是按照320*480的size來執行的,所以導致上下有黑

ionic2下建立專案後,執行啟動後白幾秒,解決方案

問題描述 最近在學習過程中發現ionic2專案執行在真機上,啟動頁後會有3-5秒的白屏時間,使用者體驗不是太好。 解決過程 一、安裝Cordova splash screen外掛 $ cd myapp   $ ionic plugin add org.ap

Android 啟動優化啟動的真正原理

網上有許多解釋 大牛A說:應用啟動的時候有一個空白的Window,View繪製到另一個Window上,在繪製完畢之後,後一個Window去替換掉前一個Window。 B說:setContentView耗時太久,所以白屏 大牛A之所以會這樣認為,是因為他看過原始碼或者

iOS設定LaunchScreen後真機啟動畫面為解決辦法

最近在Xcode7下做一個專案,由於還不適應LaunchScreen.storyboard,就把之前專案的LaunchScreen.xib拖進來當做啟動介面。 首先 在上面放了一個全屏的ImageV

Android 解決APP啟動時出現白問題

1、問題描述 當我們首次啟動APP時,再到APP的第一個頁面展示出來之前,這段時間會有幾秒的白屏或者是黑屏出現。這樣給使用者的體驗是十分不好的。 2、問題出現的原因: 當我們在啟動一個應用時,系統會檢查是否已經存在這樣一個程序,如果沒有,Android系統

去除進入閃或白

啟動app 進入的預設頁 是閃屏頁 當activity 沒有執行到setcontentview(),方法時 展現的都是視窗背景。 所以可以自定義style 單獨給閃屏頁設定主題 視窗背景就是閃屏也背景圖片 如: <style name="AppLauncher"parent="Th