精华内容
下载资源
问答
  • 【教程】教你如何让指定APP常驻内存
    2021-06-03 13:38:49

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    抱歉啊,说好的这篇教程来的太迟了,我们昨天(15号)有学考,所以今天才得空来写这篇简单的小教程

    首先你需要符合下面几个条件

    1.有一台可以正常连接手机的电脑

    2.你的手机已经ROOT

    如果这两条都符合了就往下看吧

    第一步:

    在手机上找到这个文件,复制到电脑上

    【 /system/build.prop 】

    第二步:

    在电脑上使用 NotePad++ 这个软件打开这个文件,看看有没有下面几行命令

    # apps to be kept in memory (specified by process name)

    # use with caution, RAM is limited!

    sys.keep_app_1=XXXXXX

    如果有,就直接修改sys.keep_app_1=这个即可。

    这里解释一下sys.keep_app这个命令的作用和使用方法:

    这个命令是在手机内存告急系统自动释放旧文件时,跳过这个APP的所有数据,也就是说不会释放这个APP在内存中的数据(注意,各种释放内存的软件可能依旧强制释放这部分数据)

    命令用法:

    sys.keep_app_1=“app pack name”

    sys.keep_app_2=“app pack name”

    这个sys.keep_app_后面跟着的数据,是一个连续的自然数,自己根据自己的需求编写即可。

    等号(=)后面的“app pack name”指的是APP的包名称,例如UC的包名称是:com.uc.browser,就写

    sys.keep_app_2=com.uc.browser

    在这行代码后面也可以添加注释,方法为:在sys.keep_app_2=com.uc.browser后空格,写一个#后添加注释。

    sys.keep_app_2=com.uc.browser #UC_browser

    再说一下如何查看包名称。

    1.设定-应用程序-正在运行

    2.点击右上角的显示缓存进程

    3.找到你需要查看的程序,点开

    4.最下面有一个进程,下面有一行类似于网址的字符串,那个就是包名称

    最后附上索尼Lt26i常用的的常驻内存代码

    ### Launcher apps ###

    sys.keep_app_1=com.sonyericsson.home # Sony Launcher

    sys.keep_app_1=com.sonymobile.home.homeadd #Add widgets(4.04启动器需要这个,4.1的不需要添加这行)

    ### Phone dialer app ###

    sys.keep_app_1=com.android.sonyericsson.socialphonebook(这个是通讯录)

    ### System apps ###

    sys.keep_app_1=com.android.systemui # Status bar (下拉菜单以及系统界面)

    sys.keep_app_1=com.android.settings # Settings menu(设定)

    sys.keep_app_1=com.sonyericsson.music # Walkman app(索尼4.04以上自带的Walkman播放器)

    更多相关内容
  • 软件介绍___||||____||___||___||///_\||_/_\|||\\||//||_|||_\||_||||_||\V|\\|.___/|||||.___/|_____|\_'\_\||...

    软件介绍

    _        _              _

    | |      | |   _   ___  | |      ___

    | |  ___ | | / / /  _  \| |_   /  _  \

    | | | \ \| |/ /  | |_| ||  _ \ | |_| |

    | |_| |\ V |\ \  | .___/| | | || .___/

    |_____| \ _' \_\ | |    | | | || |

    基于swoole实现的一款高性能多进程常驻内存型全栈框架,内置服务治理PhpRpc功能,不依赖传统的 PHP-FPM,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

    部署条件

    1、PHP版本不能小于5.5版本建议7.0版本(框架作者可能会发疯强制升级到php7)

    2、已经安装swoole扩展

    支持的服务器和数据库环境

    支持Windows/Unix服务器环境 可运行于包括Apache、IIS和nginx在内的多种WEB服务器和模式 框架默认只支持Mysql数据库后期可扩展,需安装相关Pdo扩展

    支持composer

    请确保服务器环境支持composer

    在linkphp项目根目录执行 composer install命令,安装框架执行所需的所有依赖库

    http服务器启动(常驻内存模式)

    进入bin\

    目录,使用命令php httpd start //启动

    php httpd stop  //停止

    _        _              _

    | |      | |   _   ___  | |      ___

    | |  ___ | | / / /  _  \| |_   /  _  \

    | | | \ \| |/ /  | |_| ||  _ \ | |_| |

    | |_| |\ V |\ \  | .___/| | | || .___/

    |_____| \ _' \_\ | |    | | | || |

    [2018-06-01 15:43:12] Server    Name: link-httpd

    [2018-06-01 15:43:12] PHP    Version: 7.1.7

    [2018-06-01 15:43:12] Swoole Version: 2.1.3

    [2018-06-01 15:43:12] Listen    Address: 127.0.0.1

    [2018-06-01 15:43:12] Listen    Port: 9508

    第一种方式:使用linkphp提倡的以常驻内存形式启动方式,前端可以配合nginx负载均衡使用

    第二种方式:传统的LNMP/LAMP方式启动,则将根目录定义到src/web目录下

    将会由非内存形式启动,请求一次则会进行释放,无法使用常驻内存形式提高性能

    Nginx + httpd使用server {

    root /wwwroot/;

    server_name www.linkphp.cn;

    location / {

    proxy_http_version 1.1;

    proxy_set_header Connection "keep-alive";

    proxy_set_header X-Real-IP $remote_addr;

    if (!-e $request_filename) {

    proxy_pass http://127.0.0.1:9508;

    }

    }

    }

    为你推荐:

    展开全文
  • Android如何让APP进程常驻内存

    万次阅读 2017-03-16 14:15:32
    Android如何让APP进程常驻内存? 如何让Android程序常驻内存,像QQ一样拥有强劲的生命力不被系统杀死?它传说中的进程保活(人类也在探索永生不死,App亦然),本文将会介绍进程保活的黑魔法,我想绝大...

    Android如何让APP进程常驻内存?

    如何让Android程序常驻内存,像QQ一样拥有强劲的生命力不被系统杀死?它传说中的进程保活(人类也在探索永生不死,App亦然),本文将会介绍进程保活的黑魔法,我想绝大部分开发者都会对它感兴趣。

    进程保活的常见方案

    黑色保活

    何为黑色保活?就是利用不同App进程用广播相互唤醒。例如:

    • 开机、网络切换、拍照、利用系统产生的广播唤醒app。
    • 接入SDK,比如微信SDK会唤醒微信,支付宝SDK会唤醒支付宝。
    • 假如你的手机安装了支付宝,淘宝等阿里系的app,那么你打开任意一个阿里系app后,就可以唤醒其他的阿里系app

      目前Google已经意识到这些问题,所以在Android N中取消了ACTION_NEW_PICTURE,CONNECTIVITY_ACTION等广播。

    白色保活

    这种进程保活方式非常简单,就是采用系统接口,启动前台Service,这样你会在通知栏看到一个Notification,让用户明确的感知到你在运行中。

    灰色保活

    这种保活手段目前应用非常广泛,它利用系统漏洞启动一个前台Service,与白色保活的区别在于,它不会在通知栏显示Notification,这样一来用户就无法察觉到运行着一个前台进程,但是你的进程优先级又是高于普通后台进程的。 目前很多app都采用灰色保活手段(微信,QQ),接下来我们一起来验证一下。以微信为例,首先打开微信,然后home键,确认通知栏无Notification,然后进入adb shell执行如下shell命令: dumpsys activity services com.tencent.mm

    dumpsys_activity_services

    通过以上命令,打印出指定包名进程中的Service信息,你会看到isForeground=true的信息,但是通知栏却没有看到Notification。这就是进程保活的黑魔法。

    代码实现

    我将其命名位GohnsonSerivice(强生服务,正所谓人如其名),具有强大生命力的服务。

    接下来你需要做的就是在Manifest中注册服务。以及在app中启动Service。这样一来你的Service就能实现灰色保活了

    灰色保活并不代表你的Service能够永生,只能说明是提高了进程优先级。如果你的app进程占用了大量的系统资源,按照系统进程回收的策略,同样会kill你的app。为了进行对比,我加入了一个普通的Service进程NormalService

    进程回收策略

    出于性能上的考虑,app在后台时系统并不会立即kill它,而是将其缓存起来。打开的应用越多,后台缓存的进程也越多。在系统资源不足的情况下,会根据进程回收机制来决定要kill掉哪些进程,以腾出资源来供给需要的app。这套策略就是Low Memory Killer ,它是基于Linux内核的 OOM Killer(Out-Of-Memory killer)机制诞生。

    如何判断进程的优先级呢?

    我们知道进程回收是依赖进程优先级进行的,那么如何判断进程的优先级高低呢?那就需要了解oom_adj:

    它是Linux内核分配每个进程的一个值,代表进程优先级,进程回收时就是依据它来决定是否回收。其值越大进程优先级越低,越容易被回收,并且普通的app进程oom_adj>=0,系统进程的oom_adj才可能<0

    下面以Demo为例,查看其进程的oom_adj(注意以下测试结果中的oom_adj数值在不同设备上结果不一样

    ps |grep com.vjson.gohnsonservice

    • UI进程:com.vjson.gohnsonservice
    • 灰色保活进程:com.vjson.gohnsonservice:gohnson
    • 普通后台进程:com.vjson.gohnsonservice:normal cat /proc/进程ID/oom_adj

    cat_proc_oom_adj

    从上图可以看到UI进程的oom_adj=0,保活进程oom_adj=2,普通后台进程oom_adj=8。然后按home键将app切到后台,在观察各个进程oom_adj的值变化。你会发现UI进程的值变大了。

    以上测试结果可以看出,灰色保活服务进程的优先级明显高于普通后台服务进程,UI进程位于前台时优先级非常高,切到后台之后oom_adj明显增大(进程优先级明显降低)。由于UI进程占用的资源最多,系统资源不足时肯定优先杀掉这些资源咱用高的进程以腾出资源。所以为了尽量避免后台UI进程被杀,要尽可能的释放不用的资源。

    总结

    内存保活是一把双刃剑,用得好可以提升用户体验,用的不好那就是Android系统中的牛皮癣。

    展开全文
  • swoole如何常驻进程

    2021-04-10 14:25:27
    后端经常会有类似这样的场景,某个脚本...在swoole中我们可以通过进程守护实现常驻进程。要实现对子程序的守护,需要做到两点:1、程序需要监听到子进程的结束信号,以便于重新拉起新的子进程。2、子进程的运行环境...

    25807c050f876304446a9036124b9c31.png

    后端经常会有类似这样的场景,某个脚本,需要不断的重复运行,这个时候,最好有一个守护程序,帮助我们不断地自动地拉起这些脚本进程,让它自动地重复运行。

    swoole 的进程管理模块就提供了进程间通信的功能,可以实现对子进程的自动重启功能。在swoole中我们可以通过进程守护实现常驻进程。

    要实现对子程序的守护,需要做到两点:

    1、程序需要监听到子进程的结束信号,以便于重新拉起新的子进程。

    2、子进程的运行环境需要独立于父进程。

    swoole 进程管理模块提供了一个 bool Process->exec(string $execfile, array $args) 方法,让子进程蜕变成另一个系统调用程序,同时还能保证父进程与当前进程仍然是父子进程关系。

    再通过 array Process::wait(bool $blocking = true) 方法,来等待子进程的退出信号。

    下面是使用 swoole 启动子进程,并回收子进程资源的示例代码:<?phpuse Swoole\Process;

    $php = "/usr/bin/env php";

    $script = dirname(__DIR__) . "/task.php";

    $command = "{$php} {$script}";

    $process = new Process(function (Process $worker) use ($command) {

    $worker->exec('/bin/sh', ['-c', $command]);

    });

    $pid = $process->start();

    printf("启动子进程 {$pid}\n");while ($ret = Process::wait()) {

    $pid = intval($ret["pid"] ?? 0);

    printf("子进程 {$pid} 结束\n");

    }

    代码解析:

    $command 变量表示需要子进程脚本,通过 exec() 方法来启动成一个子进程的方式运行,再通过 Process::wait() 访求来等待 $command 这个子进程脚本结束,并回收进程资源。

    那么,只要在收到子进程的结束信号后,再起一个相同的子进程脚本,即可实现对子进程的守护了。于是,第一个守护子进程的程序实现代码:<?php

    use Swoole\Process;

    $php = "/usr/bin/env php";

    $script = dirname(__DIR__) . "/task.php";

    $command = "{$php} {$script}";

    do {

    $process = new Process(function (Process $worker) use ($command) {

    $worker->exec('/bin/sh', ['-c', $command]);

    });

    $pid = $process->start();

    printf("启动子进程 {$pid}\n");

    } while (Process::wait());

    代码解析:

    这段代码只将启动子进程的逻辑加到一个死循环中,好让这个子进程脚本能够不断的重启。

    展开全文
  • Android 应用进程保活APP常驻内存研究方案

    千次阅读 多人点赞 2019-08-28 18:36:57
    我们知道,在Android4.4之后的版本中,Android在硬件中支持内置计步传感器,例如微信运动等软件都是调用了Android中的Sensor.TYPE_STEP_COUNTER传感器服务,从而获取到每日的步数。 由于当时用户手机版本普遍偏低,...
  • 其实我们开发者并不想让自己做的应用变成流氓软件,但是没办法, 你的老板需要,你要不想让你的应用常驻,那咱就常驻不了了。。。所以说,言归正传。。。  第一篇准备使用系统的服务保活。如果想看提高app的进程...
  • 随着AlarmManager唤醒、native进程拉起等方式的失效,APP常驻内存的时代将不复存在,尤其是当APP进程被杀死后,基本很难将其拉起。从用户的角度来讲,这是一种很好的发展,而这一切应该归功于谷歌和各大厂商不断追求...
  • )默认如图,它将每根内存的最低位64Mb设置为排除,是因为有些驱动程序和常驻系统的软件会占用这部分内存,为了避免引起冲突采取的措施。如果大家有兴趣的话,还可以把虚拟盘设置到任意一根内存条上,比如第一或是...
  • 虚拟内存的概念和好处2.刚刚说的共享和保护怎么实现的3.分段和分页的区别,为什么要分段 1.虚拟内存的概念和好处 (提高系统并发性、方便编程、方便共享和保护等等) 2.刚刚说的共享和保护怎么实现的 (分段、锁机制...
  • 近期被一些朋友问到关于进程保活这块的知识点,想必是很多开发者研究的重点,虽然我不支持做成这类【流氓软件】,因为大家都这么干的话,Android系统的内存永远不够用,电量消耗的贼快,流畅度肯定就大大的降低了;...
  • 类似:dir cd md copy ren type这些命令常驻内存中! 隐藏在:io.sys和msdos.sys两个文件之中! 与之对应的有外部命令: 常用外部命令的功能简介 DISKCOPY——整盘复制命令 1.功能:复制格式和内容完全相同的软盘。...
  • 1. 内存使用情况分析1.1 系统总内存分析通过cat /proc/meminfo,可用的物理内存=MemFree+Buffers+Cached。MemTotal: 5933132 kBMemFree: 4485932 kBMemAvailable: 4822944 kBBuffers: 122148 kBCached: 6...
  • 转自:https://blog.csdn.net/rebirthme/article/details/50402082想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以...
  • 冰箱和绿色守护可以杀死常驻内存的流氓软件,原理是什么?
  • 包括:内存管理单元MMU的作用,虚拟内存与物理内存之间的映射方式,页表的概念,高速缓存(Cache)的作用,物理内存与高速缓存之间的映射关系等。当然,想要深入了解,本文并不适合,本文只是从原理上,讲述以上几者...
  • 嵌入式:节省内存软件设计技巧

    千次阅读 2014-04-22 09:59:11
    本文讲述内存资源紧缺型嵌入式系统中节省内存软件设计方法。一般主控是单片机控制器的电子产品的成本跟内存的关系可是成正比的,尤其在SOC芯片设计时是固件开发需要重点关注的。大量量产前要确定内置SRAM的大小,...
  • 关于Service常驻内存不被清理的解决方法.
  • 1.代码获取当前app内存的使用情况ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);//最大分配内存int memory = activityManager.getMemoryClass();System.out.println(...
  • 本文继续阐述基于低端控制器CPU的SoC固件架构设计。这一节讲述内存空间的具体规划分配,包括嵌入式固件系统软件层次、程度段组成、物理内存分块设计和具体的程序内存空间分配原则。
  • 最近发现这些清理软件会引导用户打开无障碍模式,然后模拟点击事件进入应用信息页面强制停止应用,播放器才停止播放,而设置源码中强制停止调用的是forceStopPackage方法(hide API,系统应用才能调用) 3.重写服务的...
  • 可以创建指定容量的虚拟内存盘,分区格式可选择为NTFS或者FAT32,也可以从已有的磁盘镜像文件创建内存盘,支持开机自动加载指定盘符的内存盘,关机时保存内存盘数据(此功能需要常驻系统)。内存盘的大小是有限制的,...
  • 因为只创建一次,所以会常驻内存之中,在频繁使用该类的时候可以提升系统的性能。3.提供全局唯一实例的访问点。单例模式的缺点:1.拓展性。无法拓展子类,不适合变化的对象。2.违背了单一原则。因为只存在一个实例,...
  • App避免被杀死,常驻后台

    千次阅读 2021-07-21 16:14:47
    1.最重要的一点 忽略电池优化如果不忽略则锁屏后立马被杀死 判断是否在白名单,如果不在白名单则提示用户开启白名单 2.开启白名单后 启动一个前台服务保持程序优先级 以及防止程序被回收 满足这两点基本可以...
  • 关于内存泄露的总结

    2021-02-28 14:01:47
    大致先分为五个小模块:1、什么是内存泄漏2、有哪些情况会导致内存泄漏切如何解决3、如何检测内存泄漏4、Java得基本数据类型和占用字节5、什么是内存溢出和解决办法一、什么是内存泄漏(Memory Leak)内存泄漏是指:...
  • Mac上禁用CleanMyMacX软件后台常驻运行
  • 何小墨桌面画笔软件是...1. 首次运行后,软件常驻内存(占用内存大小约2M),下次直接按Ctrl F1即可直接使用。 2. 若要关闭程序,调出任务管理器关闭“Pointer.exe”进程。 3. 软件不会跟随电脑自启,所以电脑重启后

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,308
精华内容 5,723
关键字:

内存常驻软件