HSP tips

とりあえずここも暫定ページです。

[HSP3Dish] [Android] 起動時に画面が乱れる不具合について


※HSP 3.5β2 の時点での情報を元にしています。後のバージョンでは状況が違ってくる可能性があります。


以下は、不具合が発生する端末でデバッグをしていないと気づきませんが、 HSP 3.5β2 の時点では確実に存在する不具合です。



一部のAndroid端末において、アプリ起動時に画面が乱れる
 黒で塗り潰し→HSPコードが実行される直前に一瞬起動前の画面が見えてしまう
 手持ちでは、Nexus7(2012) Android 5.1.1 が該当しています。


という不具合がどうにかならないかと思い、色々試したところ onCreate() に少しだけウエイトを入れてやることで解決するようです。 この不具合の原因はよくはわかりませんが、 該当端末ではほぼ100%発生し、印象が悪いアプリになっておりました。

具体的には、HspActivity.java に以下を追加することで解決しています。
	// ウエイト(ms)
	public synchronized void sleep(long ms)
	{
		try { wait(ms); } catch(InterruptedException e) {}
	}

	// 起動時に画面が乱れる端末があるため、180msウエイト
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//Toast.makeText(this, "onCreate", Toast.LENGTH_LONG).show();
		sleep(180);
	}
Toast は確認用です。
AdMob が有効の場合は、onCreate() で処理に時間がかかっているため、 たまたまこの不具合が発生しません。
つまり HspActivityAdMob.java のほうは、この対策は必要ありません。 (これがヒントになって気づいた次第です。)



戻る

© 1998-2015 Miecat. All rights reserved.