生活随笔
收集整理的這篇文章主要介紹了
android 8.1 开机壁纸下半部分黑屏2-3秒的问题解决
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/ImageWallpaper.java
private void loadWallpaper(boolean needsDraw, boolean needsReset)
上方法的異步改為同步進(jìn)行測試(目的是將異步改為同步
private void loadWallpaper(boolean needsDraw, boolean needsReset) {mNeedsDrawAfterLoadingWallpaper |= needsDraw;if (mLoader != null) {if (needsReset) {mLoader.cancel(false /* interrupt */);mLoader = null;} else {if (DEBUG) {Log.d(TAG, "Skipping loadWallpaper, already in flight ");}return;}}/* SUN:jicong.wang remove for ALPS03943376mLoader = new AsyncTask<Void, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(Void... params) {Throwable exception;try {if (needsReset) {mWallpaperManager.forgetLoadedWallpaper();}return mWallpaperManager.getBitmap();} catch (RuntimeException | OutOfMemoryError e) {exception = e;}if (isCancelled()) {return null;}if (exception != null) {// Note that if we do fail at this, and the default wallpaper can't// be loaded, we will go into a cycle. Don't do a build where the// default wallpaper can't be loaded.Log.w(TAG, "Unable to load wallpaper!", exception);try {mWallpaperManager.clear();} catch (IOException ex) {// now we're really screwed.Log.w(TAG, "Unable reset to default wallpaper!", ex);}if (isCancelled()) {return null;}try {return mWallpaperManager.getBitmap();} catch (RuntimeException | OutOfMemoryError e) {Log.w(TAG, "Unable to load default wallpaper!", e);}}return null;}@Overrideprotected void onPostExecute(Bitmap b) {mBackground = null;mBackgroundWidth = -1;mBackgroundHeight = -1;if (b != null) {mBackground = b;mBackgroundWidth = mBackground.getWidth();mBackgroundHeight = mBackground.getHeight();}if (DEBUG) {Log.d(TAG, "Wallpaper loaded: " + mBackground);}updateSurfaceSize(getSurfaceHolder(), getDefaultDisplayInfo(),false );if (mNeedsDrawAfterLoadingWallpaper) {drawFrame();}mLoader = null;mNeedsDrawAfterLoadingWallpaper = false;}}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);*//*SUN:jicong.wang add start ALPS03943376 {@*/Bitmap b = null;Throwable exception = null;try {if (needsReset) {mWallpaperManager.forgetLoadedWallpaper();}b = mWallpaperManager.getBitmap();} catch (RuntimeException | OutOfMemoryError e) {exception = e;}if (exception != null) {// Note that if we do fail at this, and the default wallpaper can't// be loaded, we will go into a cycle. Don't do a build where the// default wallpaper can't be loaded.Log.w(TAG, "Unable to load wallpaper!", exception);try {mWallpaperManager.clear();} catch (IOException ex) {// now we're really screwed.Log.w(TAG, "Unable reset to default wallpaper!", ex);}try {b = mWallpaperManager.getBitmap();} catch (RuntimeException | OutOfMemoryError e) {Log.w(TAG, "Unable to load default wallpaper!", e);}}mBackground = null;mBackgroundWidth = -1;mBackgroundHeight = -1;if (b != null) {mBackground = b;mBackgroundWidth = mBackground.getWidth();mBackgroundHeight = mBackground.getHeight();}if (DEBUG) {Log.d(TAG, "Wallpaper loaded: " + mBackground);}updateSurfaceSize(getSurfaceHolder(), getDefaultDisplayInfo(),false );if (mNeedsDrawAfterLoadingWallpaper) {drawFrame();}mLoader = null;mNeedsDrawAfterLoadingWallpaper = false; /*SUN:jicong.wang add end ALPS03943376 @}*/ }
總結(jié)
以上是生活随笔為你收集整理的android 8.1 开机壁纸下半部分黑屏2-3秒的问题解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。