学习
实践
活动
专区
工具
TVP
写文章

后台杀死后,Android应用如何重新走闪屏逻辑

Android应用运行在后台的时候,经常被系统的LowMemoryKiller杀掉,当用户再次点击icon或者从最近的任务列表启动的时候,进程会被重建,并且恢复被杀之前的现场。什么意思呢? 后台杀死与恢复的堆栈.jpg APP后台杀死后,APP端进程销毁了,也就不存在什么Activity了,也就没有什么Activity堆栈,不过AMS的却是保留了下来: ? Android为了能够让用户无感知后台杀死,就做了这种恢复逻辑,不过,在开发中,这种逻辑带了的问题确实多种多样,甚至有些产品就不希望走恢复流程,本文就说说如何避免走恢复流程。 --只有在intent设置了跳转数据的时候才去跳转,一般是推送就来,如果冷启动,是没有数据的--> if(uri! 作者:看书的小蜗牛 原文链接:后台杀死后,Android应用如何重新走闪屏逻辑 仅供参考,欢迎指正

1.5K40
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    APP测试之使用ADB可能遇到的错误及解决办法

    解决办法: 1、如果是win10系统的环境变量配置打开path, 添加如下: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools; (注意要先点击新建再分别在两行创建 ,并且不需要分号) 2、如果是win7系统打开path, 添加如下: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools; (直接粘贴到path变量值后面即可 第一种情况:确实用多个设备或者模拟器 错误说明是有一个以上的设备和仿真器,这是因为启用了模拟器,同时也将手机通过USB线连接到了电脑,所以这里存在两个设备。 解决办法: 1、使用netstat -ano | findstr 5037查看5037端口对应的进程号(因为5037是adb的默认端口号); 2、taskkill /f /pid 进程号即可杀死,如下图所示 ,杀死PID为9516的进程: ?

    2K30

    《Monkey Android》第4课之运行第一个App

    Genymotion模拟器,点击Android Studio的工具栏中的绿色实心向右箭头运行按钮,开始Build项目,稍等弹出设备选择界面,如图: ? 第2步 点击Next后,打开Android5.1模拟器,可以看到第一个App已经运行了!如图: ? 学习几个adb命令 第1步 将SDK的platform-tools文件夹加入到系统环境变量中。 169.254.109.102:5555 device 有两个设备处于可用于调试app的状态,第一个是真机,第二个是Genymotion模拟器。 第3步 有时我们会遇到真机或者模拟器连接良好,但是调试运行时,Android Studio提示设备超时,这时,我们用到以下两个adb命令: 用来杀死adb服务: adb kill-server 用来开启 adb服务: adb start-server 如果杀死并重启adb服务后,仍然无法调试,那么请重现连接的真机,或者重启模拟器

    39530

    移动端逆向教程1.2 安卓常用指令集

    前言 在我们进行Android逆向分析的时候,会在windows用到一些指令进行查询删除等操作。 同时,在我们用usb数据线连接电脑后调试手机app会用到一些linux命令(Android运行环境是基于linux内核的缘故)所以下面介绍一下,在windows下常用的cmd命令以及linux下的shell Windows中杀死进程分两步:1查询端口占用2.强行杀死进程 例: #查询一下本地所有网络连接,提取包含 8080(已建立连接)的行 netstat -ano | findstr "8080" taskkill 这里需要注意,命令 1 必须有正确输出,而命令 2 必须可以处理命令 1 的输出结果;而且命令 2 只能处理命令 1 的正确输出,而不能处理错误输出。 0x06 常用ADB命令(用于电脑与手机或者模拟器交互) adb devices #显示与电脑连接的所有手机和模拟器 adb shell # 进入手机管理 adb

    27210

    appium+python自动化60-appium命令行参数

    )如果设置,则阻止Appium杀死adb服务器实例 —async-trace 假 将长堆栈跟踪添加到日志条目。 ios-webkit-debug-proxy进行通信的本地端口 —webkit-debug-proxy-port 27753 -dc, —default-capabilities {} 设置默认的所需功能,这些功能将在每个会话上设置,除非接收的功能覆盖 [DEPRECATED] - (仅限iOS)ms等待仪器启动多长时间 —language 空值 [DEPRECATED] - iOS模拟器/ Android模拟器的语言 —language en — locale 空值 [DEPRECATED] - iOS模拟器/ Android模拟器的语言环境 —locale en_US -U, —udid 空值 [DEPRECATED] - 连接的物理设备的唯一设备标识符 虽然网上的教程是免费的,有些不负责的编辑,错误引导会导致浪费学习时间,学习的时间成本往往是最昂贵的!

    73810

    ADB命令集锦

    adb即Android Debug Bridge(安卓调试桥)。它就是一个命令行窗口,用于电脑端与模拟器或者真实设备交互。 常用操作有: 把文件发送到android设备,或从android拖拽文件到本地 在android设备上安装/卸载应用 启动应用 把APP的日志导出到本地 截屏、录像 思考: 上面说的这几点能否有其他方式替代 2、之后,用usb连接电脑和手机(或模拟器),并开启Android 设备的开发者选项和 USB 调试模式。 3、此时就可以在dos窗口输入cmd devices 命令检查是否可以正常使用了。 pm list permissions 查看系统的危险权限dangerous permissions adb shell pm list permissions -d -g 10、adb服务器杀死和启动 kill-server adb start-server 场景:比如希望移动adb文件夹,或者adb命令得不到想要的内容时 11、与进程相关: 列出当前进程 adb shell ps | findstr 包名 杀死某个包的进程

    98552

    盘点Python编程的简易版自动化工具——ADB史上全操作

    它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现ADB守护进程 (ADBD),便会与相应的端口建立连接。 shell cat /system/build.prop #获取设备名称 4).操作多个设备 adb —a 监听所有网络接口,而不仅仅是localhost   -d 使用USB设备(如果多个设备连接错误 )   -e 使用TCP / IP设备(如果可用多个TCP / IP设备错误)   -s 使用给定的序列号(覆盖ANDROID_SERIAL)   -t 使用给定设备ID   -h adb服务器主机名称 这样我们呢就进入了模拟器的Shell界面了。 am stopservice 服务 #停止服务 adb shell am force-stop bluetooth #杀死蓝牙进程 adb shell am kill 进程号 #杀掉进程 adb

    78920

    使用全新 Android 模拟器工具进行持续测试

    可调试性: 跟踪来自 Android 模拟器远程实例的错误。 可部署性 Android 支持多种硬件和软件配置,Android 模拟器也不例外。但是,这种多样性可能会导致测试环境配置出现混乱。 Android Emulator Docker 镜像生成器 – 有了 Android 系统镜像和模拟器还只是开始。 启动 Docker 镜像后,1) 端口转发和 ADB 以及 2) gRPC 和 WebRTC,使与模拟器的交互成为可能。目前,Docker 镜像生成器设计为在 Linux 上运行。 有关如何创建和部署 Android 模拟器镜像的更多详细信息,请参阅文档里的 README 文件。 可调试性 当模拟器正在运行一个测试而且测试失败时,您可能难以介入正在运行的测试环境并诊断错误。 点击这里进一步了解 Android 模拟器

    1.4K30

    python-windows命令行启动appium及杀掉对应接口进程

    114821060 移动端测试获取主包名主类名Activity 二.python-appium启动app 1.appium启动一加计算器相关参数: d = {} d['platformName'] = 'Android 127.0.0.1:4723/wd/hub',d) 2.windows查看端口 例子 netstat -ano | findstr 4723  #查询端口号1111的进程信息,从中可以获得pid 启动模拟器或手机 ,访问服务监听的那个端口: webdriver.Remote('http://127.0.0.1:4723/wd/hub',dic)  #dic是模拟器或手机的设备信息和app信息 #根据pid查询进程信息 ,第一列就是进程名称 tasklist | findstr 2472 #根据pid杀死进程 taskkill /pid 2472 -t -f  #2472是pid 我们启动一下一加计算器 看到200 ,则是启动成功,这时候我们去查看端口 三.windows杀掉对应进程 杀死上述的4723端口 其实很简单,我们获取控制台输出的第一行,也就是带有LISTENING的这一行显示的PID号,对他进行处理拿到

    18110

    Appium+python自动化(十七)- 你难道是猴哥失散多年的混血弟弟还是妹妹???- Monkey简介之开山篇(超详解)

    Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上。 Monkey会发送伪随机的用户事件流,适合对app做压力测试。 ,这只“猴子”一旦启动,就会让测的Android应用程序像猴子一样活蹦乱跳,到处乱跑。 人们常用这只“猴子”来对测程序进行压力测试,检查和评估测程序的稳定性。 系统,通过执行 monkey {+命令参数} 来进行Monkey 测试 c ) 在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android 如果应用程序发生了程序无响应(application not responding)的错误,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。

    1.1K51

    必须掌握的ADB命令 | 让你的测试事半功倍

    >>>> 什么是ADB ADB的全称是Android Debug Bridge,是一个与模拟器或者连接设备通讯的桥梁。 执行命令adb shell am kill com.example.adbdemo来杀死后台的进程。 重复使用命令ps | grep adbdemo来确认app已经停止运行。 ? 设置后手机中的页面是这样的,可以看到画面压缩的比较严重。 ? 最后可以使用命令adb shell wm density reset来恢复系统默认的屏幕密度。 ? secure:包含各种对application只读的属性,如果需要修改这些属性,用户必须通过系统UI或者特殊的api进行配置,不能application直接修改。 ,意味着我们的代码包含错误或者配置错误,必须进行修改 2、使用adb logcat查看log信息 首先在之前的例子中添加按钮,点击按钮会生成一份log信息,核心代码如下 protected void onCreate

    6.7K50

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 验证码

      验证码

      天御验证码(Captcha)针对网站、APP 开发者提供安全智能的验证码服务,基于腾讯多年技术沉淀,天御验证码最大程度地保护业务安全;同时,便捷的设计减少交互,让开发者不再因验证码难以识别而担心用户流失。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券