gpt4 book ai didi

java - 黑莓问题卡住屏幕和加载缓慢

转载 作者:行者123 更新时间:2023-12-01 15:51:46 25 4
gpt4 key购买 nike

嘿,我制作了一个游戏,但遇到了一些问题:当我的资源加载(图像 *.png)时,它比平时花费的时间太长,因为在我的控制台中出现了新行,我不知道是什么意思:RX=32K,RF=107.2K,FF=139.7M,OF=560.8K,OS=54.5M,ON=128.1K,OR=0,FR=10K,TR=6.1M,RR=0,IS =13.8K
RA=48.5M,RS=44.7M,RN=61K
TA=11.8M,TS=9M,TN=31.5K
PA=832K,PS=832K,PN=6.2K
R0=207M,1=800.2K,2=24K,3=82.3K,4=2.1M,7=210.7K,8=3K,9=46.5M,10=19.8K,11=42.3K,12=303.2 K,13=85.4K,15=338.7K,20=3.9K,21=524,22=61.2K,23=87.3K,24=16.5K
VM:-RR

上面的代码重复了好几次。有谁知道是什么意思.我提到我加载、调整大小并绘制了很多图片(例如 100 张)来为一些动物制作动画并拍摄它们。有时我的屏幕会因为这个而卡住:
JPGENC 78 毫秒
JPGENC 7 毫秒
JPGENC 0 毫秒
JPGENC 70 毫秒
JPGENC 0 毫秒
JPGENC 0 毫秒
JPGENC 70 毫秒
JPGENC 0 毫秒
JPGENC 7 毫秒
JPGENC 54 毫秒
JPGENC 7 毫秒
JPGENC 0 毫秒

我使用此方法来调整大小:

public static Bitmap resize(Bitmap png, float  scaleX, float scaleY){

Bitmap testBitmap = new Bitmap((int)(png.getWidth()*scaleX), (int)(png.getHeight()*scaleY));
int[] argb = new int[testBitmap.getWidth() * testBitmap.getHeight()];
testBitmap.getARGB(argb, 0, testBitmap.getWidth(), 0, 0, testBitmap.getWidth(), testBitmap.getHeight());
for (int index = 0; index < argb.length; index++) {
argb[index] = 0x00000000;
}
testBitmap.setARGB(argb, 0, (int)(png.getWidth()*scaleX), 0, 0,(int)(png.getWidth()*scaleX), (int)(png.getHeight()*scaleY));
png.scaleInto(testBitmap, Bitmap.FILTER_BILINEAR, Bitmap.SCALE_TO_FIT);
return testBitmap;
}

这就是绘图:

图形图形;
Graphics.drawBitmap(int x,int y,int width,int height,Bitmap位图,int left,int top);


所以,如果有人明白我说的话,请帮助我。非常感谢

最佳答案

我怀疑您的屏幕卡住了,因为您在 UI 线程上执行了太多繁重的工作。

如果您需要开始游戏,那么最好在游戏开始之前创建(读取、调整大小)所有图像。您应该尽量避免在游戏过程中加载/调整大小。为此,您可以创建一些游戏初始化任务,该任务在后台线程上运行,弹出窗口下方显示“请稍候,正在初始化...”。因此,当您加载/调整所有图像的大小时,用户会被弹出窗口阻止,只能坐下来等待。然后隐藏弹出窗口并实际开始游戏。

另一点是如何调整大小。有一种更有效的方法来调整图像大小 - 无需创建 Bitmap 对象(该对象较大且处理速度较慢)即可调整图像大小。使用 EncodedImage 代替。 BB API 允许将图像资源加载为 EncodedImage。然后EncodedImage提供API来调整自身大小。最后,Graphics 具有在自身上绘制 EncodedImage 的 API。

希望我的回答对您有帮助。谢谢。

关于java - 黑莓问题卡住屏幕和加载缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com