Delphi XE之路(3)解决启动时短暂的黑屏

简介: <div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> 以下转自玻璃城市的博客,已经在我手机上测试成功!不过带来一个新的问题,在手机横向时程序会停止执行??? <br><span style="margin:0px; paddi
以下转自玻璃城市的博客,已经在我手机上测试成功!不过带来一个新的问题,在手机横向时程序会停止执行??? 
   delphi xe5 编译的程序在启动时会有短暂的黑屏出现,这个现象产生是因为启动首个activity时会加载一些初始化数据,整个时间大约在2~3秒,如何处理?

网上有些资料,这里主要参考和整理了CSDN论坛上第42#liaobo的回复。

第一步:建立2个文件:loading.png 和 styles.xml,其中loading.png 是启动时替代黑屏的图片,styles.xml是对背景图片的定义,其内容为:

<resources> 
<style name="MyTheme.NoTitleBar.CustomBackground" parent="@android:Theme.Black">  
  <item name="android:windowBackground">@drawable/loading</item>  
  <item name="android:windowNoTitle">true</item>  
  <item name="android:windowFullscreen">true</item>  
  <item name="android:windowContentOverlay">@null</item>  
</style> 
</resources>

特别需要注意的是:

(1)Delphi中代码是大小写不敏感的,所以Delphi程序员一般在写程序时不太注意大小写。而在Java下大小写是敏感的,在styles.xml定义中“loading”的这个文件名一定要用小写,否则在部署时会报文件名错误。

(2)这两个文件可以放在任何目录下,我是放在了工程文件所在目录下新建的res目录。如下图:

 

 

第二步:将建立好的2个文件加入到工程的部署文件列表中,操作是打开工程的部署菜单,点击增加按钮(Add Files),将建立好的2个文件分别加入到列表中,如下图:

 

 

对加入的2个文件,修改PlatForm、RemotePath两个属性,其中PlatForm只选择Android,如下图:

 

按下F2或双击进入,修改RemotePath属性,如下图

 

其中

  styles.xml的RemotePath为 res\values\

  loading.png的RemotePath为 res\drawable-port\

如下图:

 

 

第三步:Ctrl+F9编译工程文件,并生成相关配置文件,打开工程文件所在目录,找到工程缺省配置文件AndroidManifest.template.xml,如下图:

 

用Delphi IDE 或记事本打开 AndroidManifest.template.xml 文件,查找以下文字:

android:theme="%theme%"

替换为以下文字,注意是替换,不是新增。

android:theme="@style/MyTheme.NoTitleBar.CustomBackground"

 

第四步:再次编译,部署到虚拟机,并运行后看到的启动效果如下:

 

 

这里需要说明的是:

有人说Delphi xe5 for Android的编译太慢,其实不是这样的。Delphi的编译器在生成.so文件时是非常快的,在我的机器上大约3~5秒就完成。慢是慢在部署和安装到虚拟机的时间。在我机器上生成apk文件大约需要10秒,而将apk文件下载到虚拟机上的时间取决于传输速率,在我的机器上是130k/s~500k/s之间,如下图:

 

这个缓慢的下载过程超过了一分钟,所以感觉很慢。如果使用真实设备,比如手机或pad,由于USB下载速度很快,反而用起来感觉不错,只是调试速度很慢。


目录
相关文章
|
安全 Cloud Native Java
【云原生】五年博主教你用阿里云Serverless免费额度搞事情。
传统模式如果个人up主想要搞事情, 就要有一台服务器, 为了省钱可能你还会自己搭建一个数据库。其次你的流量还是需要付费的,如果个人用用还好,但是如果要被人攻击了。那流量蹭蹭的涨, 个人是完全受不了的。这点我是比较有发言权的。因为小编我目前就有一台阿里云实例。目前部署了mysql使用宝塔来维护。每次发布自己上传jar包。下面这个截图就是我的服务, 至于地址嘛,我就不给你们看了。(我怕你们偷我的流量),毕竟前有b站主播鱼皮,网站被攻击的先例,所以咱就低调点,自己用。
1892 0
【云原生】五年博主教你用阿里云Serverless免费额度搞事情。
|
存储 消息中间件 缓存
9 个 FastAPI 的必知资源
FastAPI 是 Python 开发人员最新、最流行的 API 框架之一。我们的工程师一次又一次需要将一个或多个第三方库与我们的 API 结合使用,以附加额外的功能和特性来丰富我们的项目。
1135 0
|
23天前
|
数据采集 算法 API
2025 电商 API 接口全解析:从接入到实战的通用指南
本文系统解析了电商 API 的核心价值、分类及 2025 年最新趋势,涵盖商品、订单、支付、用户四大模块。内容包括 API 接入的通用前置准备、核心场景实战案例及避坑策略,强调合规性、实时性与智能化应用。适用于企业及开发者高效对接主流电商平台。
|
2月前
|
数据采集 监控 安全
代理IP全解析:从原理到自建代理池的实战指南
代理IP如同网络世界的“隐形斗篷”,能隐藏真实身份,保护隐私,突破访问限制,提升数据抓取效率。本文详解代理IP的核心价值、自建代理池的技术方案、运维策略及实战应用,助你掌握数字时代的生存技能。
256 0
|
4月前
|
人工智能 自然语言处理 安全
国内版“Manus”Aipy,轻松get IDA PRO平替神器,简单又高效!
IDA Pro是一款专业逆向分析工具,支持多架构反汇编/反编译(含Hex-Rays伪代码转换)、静态分析(调用图/控制流图)、动态调试和插件扩展,尤其擅长恶意代码分析。针对新手用户,可使用AI辅助工具(如Aipy)实现轻量化自动分析,替代IDA完成基础反编译任务。示例任务成功反编译a.exe并生成分析报告,验证了简化流程的可行性。
|
10月前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
560 15
在 golang 中执行 javascript 代码的方案详解
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用
|
移动开发 JavaScript 小程序
uniapp优缺点
uniapp优缺点
463 4
|
iOS开发
XCode控制台调试无法看到函数跟踪或无法看到输出的日志问题及解决方案
XCode控制台调试无法看到函数跟踪或无法看到输出的日志问题及解决方案
709 0
|
前端开发 安全 数据安全/隐私保护
详解前端登录流程:实现原理与最佳实践
详解前端登录流程:实现原理与最佳实践