使用Qpython编写Python程序“耗尽”安卓设备内存

博文参考:https://blog.csdn.net/kongxx/article/details/51668547 感谢博主:kongxx

前言

为了手机设备的稳定性,是不会允许耗尽内存这种操作的。因为有Android lowmemorykiller机制https://blog.csdn.net/u011733869/article/details/78820240
感兴趣的同学可以了解一下这个机制。

一、安装Qpython

内容来自百度百科:

《QPython》是一个脚本引擎,他整合了Python解释器、Console、编辑器和SL4A库。可以让你在Android设备上运行Python语言开发的程序。它就是Android上的Python!此外,它提供了开发工具能让你在Android设备上方便地开发Python项目。

一般手机应用商店会有该应用,直接去应用商店下载即可。

二、编写程序与运行

# -*-coding:utf8;-*-
# qpy:console
# qpy:2
import sys
import re
import time
import androidhelper


def print_help():
    print 'Usage: Input Memory Size'
    print 'For Example: 10MB'
    print 'For Example: 1GB'

if __name__ == "__main__":
    #下面两行代码可以看Qpython自带的程序里面的Helloworld.py
    droid = androidhelper.Android()
    target = str(droid.dialogGetInput().result)

    if target:
        pattern = re.compile('^(\d*)([M|G]B)$')
        match = pattern.match(target.upper())
        if match:
            num = int(match.group(1))
            unit = match.group(2)
            if unit == 'MB':
                s = ' ' * (num * 1024 * 1024)
            else:
                s = ' ' * (num * 1024 * 1024 * 1024)

            time.sleep(10000)
        else:
            print_help()
    else:
        print_help()

支持输入GB和MB两种方式,没有空格比如直接输入 :1GB 或者1024MB,核心代码如下:

 s = ' ' * (num * 1024 * 1024)

原理就是,空格占一个字节,字符串乘法是python的特性,通过申请一个多少GB或MB的字符串占用相应的内存。

三、效果展示

这里写图片描述
操作前剩余内存有1.6GB,使用程序吃掉1G,剩余600MB左右,这里博主没有输入更多,因为手机安全策略问题,当内存不够时会Kill掉同步工具。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值