问题反馈
2.0.10版本的Cocos Creator无法在Android原生上加载远程.png 图片
描述
不确定是否为所有Android手机都会这样子,目前我这边Android 6.0.1 纯原生系统(非魔改系统)无法加载一张远程.png 图片
具体表现为 cc.loader.load() 中没有回调,无论成功还是失败的都没有
测试用例
测试图片地址:
ps:图片在海外,一开始以为翻墙问题,但是实际测试,无论翻墙前还是翻墙后都没有回调
测试代码:
static loadSpriteFrameFromRemote(imageUrl: string) {
return new Promise<cc.SpriteFrame>((resolve, reject) => {
if (imageUrl == null || imageUrl == "") {
let error = new Error(`image url null`);
if (CC_DEBUG) {
cc.error(error);
}
reject(error);
return;
}
if (CC_DEBUG) {
cc.log("开始加载远程图片: " + imageUrl);
}
if (imageUrl.endsWith(".jpg") || imageUrl.endsWith(".jpeg") || imageUrl.endsWith(".png")) {
// 图片地址含后缀的下载方法
cc.loader.load(imageUrl, (error: Error, texture: cc.Texture2D) => {
if (error) {
if (CC_DEBUG) {
cc.error(`load (${imageUrl}) failed!`);
cc.error(error);
}
reject(error);
return;
}
if (CC_DEBUG) {
cc.log("成功加载远程图片: " + imageUrl);
}
resolve(new cc.SpriteFrame(texture));
});
} else {
// 图片地址不含后缀的加载方法
cc.loader.load(
{
url: imageUrl,
type: "png"
},
(error: Error, texture: cc.Texture2D) => {
if (error) {
if (CC_DEBUG) {
cc.error(`load (${imageUrl}) failed!`);
cc.error(error);
}
reject(error);
return;
}
if (CC_DEBUG) {
cc.log("成功加载远程图片: " + imageUrl);
}
resolve(new cc.SpriteFrame(texture));
}
);
}
});
}
实际运行结果
问题在于没有输出错误或者成功的log,即没有回调
其他
同样类似的反馈帖子