如何让程序返回桌面后,重新进入时不加载启动页。

因为我也是才踩完这个坑,所以就把我的解决方案放在这里了,如果有更好的解决方案,欢迎在下面给我留言。好了废话不多说了,下面就是我的解决方案

在启动页的onCreate()方法中super.onCreate(savedInstanceState);之后加入这段代码

    if (!this.isTaskRoot()) {//判断Activity是不是任务空间的源Activity,"非"也就是说是被系统重新实例化出来
        Intent mainIntent = getIntent();
        String action = mainIntent.getAction();
        if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {
            finish();
            return;//finish之后改Activity活动会继续执行后面的二代马,你可以logCat验证,加return避免抛Exception
        }
    }
更新内容:<br> 1.优化viewthread中的虚拟形象显示算法,每一个有虚拟形象显示的帖子页面只增加一次数据库查询(原本为每显示一个一次或一次以上查询),对于一页显示十帖的页面可减少至少9次查询。<br> 2.虚拟形象中心算法优化,每页减少5个以上查询。<br> 3.采用新的算法显示虚拟形象中心的个人形象,增加穿戴类别为整体造型的形象的功能,并且无需独立的header模版,减少了为使风格统一而进行修改的麻烦。<br> 4.虚拟形象中心中增添按形象名查询的功能,增加管理员可直接点击形象名进行设置形象的功能<br> 5.虚拟形象后台管理集成至系统设置中,功能完善:可批量修改虚拟形象,可编辑用户拥有的虚拟形象,更添加了虚拟形象数据的备份导出导入,方便批量添加虚拟形象和虚拟形象数据的更新升级流通。<br> 6.添加GD库版本和形象图片路径两个参数变量,图片路径参数可实现调用远程图片,对于没有空间存放图片包的会员可减少负担,但失去了主动升级的能力(因为你的图片文件是别人的呀,无法控制添加减少。) <br> <br> 将虚拟形象所有文件上传到相应位置,运行images_install.php,根据个人情况选择全新安装或升级。<br> 安装或升级后进入系统设置,对虚拟形象基本变量进行设置。<br> 如选择的是全新安装,还需在后台中将虚拟形象原始形象数据包导入。<br> 修改viewthread/template/tplfile目录,virtualimage/photo目录和virtualimage/images_config.php文件的权限为777<br> 修改相关文件完成安装。
### Python 实现加载动画并控制其启动与停止 要在 Python 中实现类似于网页左上角转圈的加载动画,并能够在程序运行期间动态显示和隐藏该动画,可以借助 `tkinter` 或者基于 Web 的技术栈(如 Flask 和 JavaScript)。以下是两种常见的解决方案。 #### 方法一:使用 Tkinter 创建桌面应用中的加载动画 Tkinter 是 Python 自带的一个 GUI 库,可以通过它创建简单的窗口界面来展示加载动画。以下是一个完整的例子: ```python import threading import time from tkinter import Tk, Canvas, BOTH def create_loading_animation(root): canvas = Canvas(root, width=100, height=100) canvas.pack(fill=BOTH, expand=True) angle = 0 while not stop_event.is_set(): # 使用线程安全的方式检测是否需要停止 canvas.delete("all") # 清除之前的图形 canvas.create_arc(10, 10, 90, 90, start=angle, extent=50, style="arc", outline="blue", width=3) root.update() # 更新 UI angle += 5 if angle >= 360: angle %= 360 time.sleep(0.05) root = Tk() stop_event = threading.Event() # 启动加载动画线程 threading.Thread(target=create_loading_animation, args=(root,), daemon=True).start() time.sleep(5) # 模拟程序运行一段间 stop_event.set() # 设置事件标志位以停止动画 root.destroy() # 销毁窗口 ``` 上述代码通过多线程实现了加载动画的效果[^1]。主线程负责模拟长间运行的任务,而子线程则用于绘制旋转弧形作为加载指示器。 --- #### 方法二:结合 Flask 和 HTML/CSS/JavaScript 构建 Web 加载动画 如果目标是在浏览器中实现加载动画,则可以考虑构建一个小型的 Flask 应用来管理前后端交互逻辑。下面提供了一个简单示例: ##### 后端部分 (Flask) ```python from flask import Flask, render_template_string, jsonify import time app = Flask(__name__) @app.route('/') def index(): html_content = """ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Loading Animation</title> <style> .loader { border: 16px solid #f3f3f3; border-top: 16px solid blue; border-radius: 50%; width: 120px; height: 120px; animation: spin 2s linear infinite; margin: auto; position: absolute; top: 0; bottom: 0; left: 0; right: 0; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } </style> </head> <body> <div id="loading-container" class="loader"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script type="text/javascript"> function checkStatus() { $.get('/status', function(data){ if (!data.running) { document.getElementById('loading-container').style.display = 'none'; } else { setTimeout(checkStatus, 1000); } }); } checkStatus(); </script> </body> </html> """ return render_template_string(html_content) @app.route('/status') def status(): global is_running return jsonify(running=is_running) if __name__ == '__main__': is_running = True app.run(debug=True) time.sleep(5) # 模拟后台任务完成间 is_running = False ``` ##### 解析 此方案利用了前端 CSS 动画配合后端状态查询机制,在页面加载自动触发转动效果[^2]。当服务器返回的状态表明任务已完成,脚本会隐藏加载图标。 --- #### 总结 以上分别介绍了基于桌面环境 (`tkinter`) 和 Web 环境下的加载动画实现方式及其终止策略。具体采用哪种取决于实际应用场景需求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值