91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

有關libgdx異步加載導致圖片顯示異常的解決

發布時間:2020-03-29 10:55:53 來源:網絡 閱讀:1290 作者:passover 欄目:開發技術

   最近原來的游戲趨于穩定,一些小問題慢慢被玩家提及越來越多。圖片顯示異常的問題很早就有,但是極少出現,最近抽空重點檢查了一下。總算搞定了,特別記錄一下。

   通過一直以來玩家反饋的數據,我找了一下規律,錯誤都是彈出框,并且大部分都是游戲的消息框。還有一個共性就是所有的錯誤都是在異步線程中引發的。比較奇怪的是在lwjgl中是直接報錯,但是在android中是圖片顯示異常。最后總算捕獲到該異常:

com.badlogic.gdx.utils.GdxRuntimeException: java.lang.RuntimeException: No OpenGL context found in the current thread.
    at com.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:471)
    at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:316)
    at com.dreamoe.pirateage.client.ApkAssets.loading(ApkAssets.java:82)
    at com.dreamoe.pirateage.client.ApkAssets.get(ApkAssets.java:54)
    at com.dreamoe.pirateage.client.Assets.get(Assets.java:229)
    at com.dreamoe.pirateage.client.actor.impl.window.TipWindow.<init>(TipWindow.java:30)
    at com.dreamoe.pirateage.client.actor.impl.window.TipWindow.show(TipWindow.java:48)
    at com.dreamoe.pirateage.client.aop.RemoteAspect.invoke(RemoteAspect.java:86)
    at $Proxy0.registerUser(Unknown Source)
    at com.dreamoe.pirateage.client.manager.remote.Remote.registerUser(Remote.java:1248)
    at com.dreamoe.pirateage.client.actor.impl.window.RegisterWindow$1$1.doInRegisterWindow.java:187)
     at com.dreamoe.pirateage.client.thread.AsyncWaitThread.run(AsyncWaitThread.java:29)
Caused by: java.lang.RuntimeException: No OpenGL context found in the current thread.
    at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
    at org.lwjgl.opengl.GL11.glGenTextures(GL11.java:1468)
    at com.badlogic.gdx.backends.lwjgl.LwjglGL10.glGenTextures(LwjglGL10.java:240)
    at com.badlogic.gdx.graphics.Texture.createGLHandle(Texture.java:166)
    at com.badlogic.gdx.graphics.Texture.create(Texture.java:158)
    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:154)
    at com.badlogic.gdx.assets.loaders.TextureLoader.loadSync(TextureLoader.java:84)
    at com.badlogic.gdx.assets.loaders.TextureLoader.loadSync(TextureLoader.java:1)
    at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:130)
    at com.badlogic.gdx.assets.AssetLoadingTask.update(AssetLoadingTask.java:94)
    at com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:399)
    at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:314)
    ... 10 more

   通過不斷模擬假設并驗證,最后發現我寫了一個異步線程去做服務器交互,主界面鎖定等待。當在這個異步線程中做了assetManager.loading的動作去加載新的圖片,這其實就不是在主線程做的,因而導致圖片加載異常。由于程序中圖片有緩存,所以才導致只有加載一次圖片資源就不會出錯。結果這個緩存搞的現象變得更難識別。

   其實本身還是一個很簡單的問題,還是找到重現不走,再分析清楚。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

融水| 定西市| 吕梁市| 武义县| 古丈县| 宁陵县| 韶山市| 开封县| 淳安县| 南木林县| 柘城县| 高清| 洛阳市| 收藏| 赣榆县| 望城县| 正镶白旗| 开江县| 大庆市| 长葛市| 中西区| 峨山| 长子县| 阿拉善右旗| 响水县| 宁阳县| 南充市| 西安市| 彭州市| 公安县| 青田县| 中卫市| 西贡区| 定南县| 西丰县| 澄江县| 漳平市| 津南区| 信丰县| 宾阳县| 东乌珠穆沁旗|