作者:
(黑龙) ▲▲▲▲▲ -
盒子活跃会员
2016-5-20 13:19:00
标题: Delphi 10 UP1 编译的APK无法在vivo手机上运行 浏览:546
加入我的收藏楼主: vivo X6Plus A (android 5.0.2)
无法运行D10 UP1 编译的APP,要么黑屏,要么就是闪退。
跟踪代码发现,是在FMX.Graphics.pas 第 2962 行 procedure TBitmap.SetSize(const AWidth, AHeight: Integer);
里报错,输入值是:AWidth=26, AHeight=42 。
注释掉报错代码后, 只要在界面上没有放了 TButton 控件时,并且禁用掉启动时的过门图片,就可以正常运行,如果界面上有TButton控件,则会出现黑屏情况。
我目前只能分析到这里,无法再继续下去了,希望大家能继续给予帮助。
作者:
(Flying Wang) ▲▲▲△△ -
注册会员
2016-5-20 13:42:39
1楼: 楼上的,这是 通病。
https://quality.embarcadero.com/browse/RSP-13053如果你关注 QC 或者 不看后悔,根本不需要分析。
----------------------------------------------
(C)(P)Flying Wang
作者:
(bdl1) ▲▲△△△ -
注册会员
2016-5-23 13:40:34
9楼: 在这个qc中,老猫已经给了修正代码的。
FMX.Canvas.GPU.pas
找到
class function TCanvasGpu.GetAttribute(const Value: TCanvasAttribute): Integer;
这个函数
修改为
class function TCanvasGpu.GetAttribute(const Value: TCanvasAttribute): Integer;
begin
case Value of
TCanvasAttribute.MaxBitmapSize:
Result := TContextManager.DefaultContextClass.MaxTextureSize;
else
Result := inherited;
end;
//Fix By Flying Wang.
//Bug and test by [德州]枫长舞(273966879)
//bug fix for some 5.0.2(两种vivo手机)
case Value of
TCanvasAttribute.MaxBitmapSize:
if Result <= 0 then
Result := 16384;
end;
end;
----------------------------------------------
-
我的新浪博客作者:
(bdl1) ▲▲△△△ -
注册会员
2016-5-23 13:55:52
10楼: 官方早open了这个bug,但在berlin中还没有修正这个问题,让人无语。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。