[教程] 【原创】媒体扫描耗电的彻底解决办法(申精)

2023-05-16

http://bbs.gfan.com/android-6740350-1-1.html

      原创处女贴,呵呵。。。 
      研究换4.1.2也有段时间了,4.1.2各方面功能均让我挺满意的,用着也蛮顺手的。偶尔上论坛,看到有人说,4.1.2存在媒体扫描耗电的bug,当时我还不以为然,也庆幸自己的这个版本没有问题,直到有一天,这个bug爆发了。。。
  那天,下了一个叫百词斩背单词的软件,进入软件后,就点了数据包离线下载,下了一段时间后,全部数据下载完毕,噩梦就开始。手机严重发热,1小时掉电20%都不在话下。开始以为是百词斩应用捣的鬼,卸载后耗电依旧。看电池使用情况,发现是一个叫“媒体”的系统应用耗电严重,远超过屏幕耗电。无奈之下,双清,进入系统后,却发现耗电依旧。这回我没办法了。。。
  于是乎,我便开始研究起这个耗电的应用程序了,发现这个表面叫媒体的应用程序,实际上是MediaProvider.apk中的一个叫做MediaScannnerService的服务一致在后台运行。禁用服务了此服务,耗电立即中止。但重启后,发现图片,视频,声音都浏览不了了,甚至连相机也无法拍照了。Google了一下,得知,这个服务,实际上是为安卓准备媒体的,估计应该是后台扫描媒体文件,提供给看图程序,播放程序的。那为什么以前这个服务并不耗电,现在就如此耗电了?感觉问题还是出在百词斩上,于是我认真查看了sd存储卡,这才发现百词斩在我sd卡上下载了大量文件(位置在sdcard0\baicizhan),大小倒是不怎么大,也就几百兆,不过文件数量太多了,能有上万个。于是,问题找到了,就是媒体扫描sd卡的时候,由于文件过多,导致扫描阻塞,占用资源,导致发热。
  
  原因找到了,问题也随之而来。这个服务既然不能停,那sd卡上又免不了拷贝很多文件。能不能在扫描时排除用户不想扫描的文件或文件夹呢?问了度娘,拜了谷哥,虽找到些线索,但多半也是语焉不详,最终也无法解决。于是,自己就开始摸索,经过无数次的修改和重启,终于发现了两个办法可以彻底解决此问题:
  
  第一个就是网友们所说的.nomedia方法。即:在不想让系统扫描的文件夹下,创建一个叫.nomedia文件。关于这个文件,网上有两种说法,一种就是创建.nomedia空文件,另一种说法是创建.nomedia文件夹。个人认为,创建.nomedia空文件就可以了,因为,系统就是用这样的方式来规避查找数据文件的。我们不妨来看一下,打开这个目录\sdcard0\Android\Data,发现里面争好有一个.nomedia空文件。由于这个文件是.开头的,安卓会视为隐藏文件,需要使用re管理器才能看到。我们可以直接拷贝这个文件,也可以自己创建一个空文件,改成这个名字。那么也有网友反应,说即使在文件夹下创建了这个文件,系统依然会扫描这个文件夹,那么接下来就事要做重要的两步了。
  由于之前系统已经对文件夹执行过扫描,这个文件夹已经存在了数据库,因此,即使有这个.nomedia文件,系统依然会进行扫描。解决的办法是:到应用程序管理器中,找到媒体存储的应用,点击清空缓存,这样,所有扫描过的数据文件都被清除了,这回重启就不会扫描了。
  
  下面说第二个方法:这个方法只适用于4.1以上的机型并且是已经root,通过修改/system/csc/feature.xml文件来实现。
  修改:<CscFeature_MediaScanner_SkipFolder4>/storage/sdcard0/autonavidata50/,/storage/sdcard0/DioDict3B/</CscFeature_MediaScanner_SkipFolder4>
  这个元素,我们可以看到,安卓系统也正是通过这个配置,来禁止扫描导航数据和词典数据来提升系统性能的。那么,我们也来模仿,比如说,我们不想让系统扫描sdcard0上的baicizhan目录,那么就添加或改写一项。
  <CscFeature_MediaScanner_SkipFolder4>/storage/sdcard0/baicizhan/,/storage/sdcard0/DioDict3B/</CscFeature_MediaScanner_SkipFolder4>
  因为我没用三星自带的导航,所以,这里我是改写的。注意,目录一定要写对。同样,修改完之后,需要到应用程序管理器中,清空媒体存储的缓存,重启。
  这回开机再看看开机后,媒体扫描的时间是多少?是不是较以前大大改善了,如果不确定媒体是否扫描了这个文件夹,那么可以往这个文件夹里拷贝几张图片,看看我们设置排除的文件夹里的图片是否被加载到了图库。
  以上两种方法,本人均已测试成功,要说两种方法有什么区别,个人认为,创建.nomedia的方法较为简单,而且也有专门的管理工具,例如:小熊.nomedia管理工具等,googlplay上搜索nomedia,有很多的。那么这个方法的弊端是,媒体必须扫描到这个文件夹里的.nomedia文件,才会跳出对这个文件夹的扫描。相比之下,第二个方法,便是真正的跳过扫描,只是设置起来比较繁琐。两个方法都需要清空媒体存储的缓存,并重启。
  所有文字均手打原创,转载请带上我的名字Niky吧,为帮助更多人,不设置回复可见了,大家评良心回复吧。

转载于:https://www.cnblogs.com/quejuwen/p/7364163.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[教程] 【原创】媒体扫描耗电的彻底解决办法(申精) 的相关文章

  • python画矩形函数drawrectangle_基于python,OPenCv中基本的绘图函数

    一 OpenCv中 python接口的基本的绘图函数 xff11 xff0d 用于绘制直线的 cv2 line 函数 xff12 xff0d 用于绘制椭圆的 cv2 ellipse 函数 xff13 xff0d 用于绘制矩形的 cv2 re
  • cas5.2 gradle mysql_CAS 5.2.x 单点登录 - 搭建服务端和客户端

    一 简介 单点登录 Single Sign On xff0c 简称为 SSO xff0c 是目前比较流行的企业业务整合的解决方案之一 SSO的定义是在多个应用系统中 xff0c 用户只需要登录一次就可以访问所有相互信任的应用系统 CAS 是
  • 服务器连交换机配置lacp协议,LACP(链路聚合控制协议)

    本文转载自 微信公众号 xff1a 通信百科 xff0c ID Txbaike 经微信公众号授权转载 xff0c 如需转载与原文作者联系 什么是LACP xff1f LACP是IEEE 802 3ad 链路聚合 标准的子组件 该标准规定 x
  • linux动态库查找,Linux查找动态库的3种方法

    Linux查找动态库的3种方法 linux默认加载动态库的路径是 lib或者是 lib64 32位的系统是前者 xff0c 64位是后者 如果找不到还有3个地方 LD LIBRARY PATH rpath ldconfig 通过设置LD L
  • 云计算机中弹性,什么是弹性云计算?

    什么是弹性云计算呢 xff1f 有些人在刚刚听说这个名词的时候是发懵的 xff0c 弹性云计算是一种什么数字技术呢 xff1f 弹性云计算是云计算的一个必要构成 xff0c 这个数字技术与云计算是有一定的区别的 xff0c 弹性拓展资源用量
  • samba的启动与停止

    在Samba服务器配置完成后 xff0c 就可以启动Samba双线虚拟主机服务 在 etc init d目录中的脚本文件smb是控制Samba服务的 xff0c 通过参数start stop和restart可控制Samba服务的启动 停止和
  • java object 转换date类型_java string类型怎么转化成date类型

    string类型转化为date类型 xff1a 方法一 xff0c Date date 61 new Date 34 2018 9 30 34 方法二 xff0c String 61 new SimpleDateFormat 34 格式 3
  • 深度学习在graph上的使用

    原文地址 xff1a https zhuanlan zhihu com p 27216346 本文要介绍的这一篇paper是ICML2016上一篇关于 CNN 在图 xff08 graph xff09 上的应用 ICML 是机器学习方面的顶
  • 软件需求分析--结构化分析(SA)方法

    结构化开发方法 Structured Developing Method 是现有的软件开发方法中最成熟 xff0c 应用最广泛的方法 xff0c 主要特点是快速 自然和方便 结构化开发方法由结构化分析方法 SA法 结构化设计方法 SD 法
  • 高级计算机网络知识点

    题目类型 xff1a 判断20分 xff08 10题 xff09 单选20分 xff08 10题 xff09 简答30分 xff08 5题 xff09 问答 计算30分 xff08 3题 xff09 1 ARPANET的主要设计原则 1 1
  • Linux使用技巧:linux下将命令值赋给shell变量

    很多小伙伴在写shell脚本的时候需要把命令输出的值赋给一些变量 xff0c 使得脚本在运行过程中能够顺利使用这些变量 例如 xff1a 很多时候我们就需要获取当前目录的绝对路径 xff0c pwd这个命令大家在熟悉不过 xff0c 可是要
  • OpenDaylight虚拟租户网络(VTN)详解及开发环境搭建

    一 VTN简介及架构分析 xff1a 具体详见开发人员指南wiki xff1a https wiki opendaylight org view Release Lithium VTN developer Guide 这里有两篇很好的初学者
  • LCD1602和LCD12864

    1602 字符型 xff08 字符型的模组 xff09 只能显示数字与字符 不可以显示汉字 12864 点阵型 xff08 图形型的模组 xff09 可根据需求任意显示字符 数字 汉字 图形 1602 为16字乘2行 12864 为128列
  • 虚拟机去混杂模式与 vlan in vxlan 特性

    虚拟机 vlan trunk 特性 1 功能 1 xff09 允许不同vlan的network下的虚拟机之间通信 一般情况下 xff0c 虚拟机只能在相同vlan的网络下通信 2 xff09 允许虚拟机发送vlan报文 2 组网图 虚拟机出
  • 慧智物联剖析信息化与数字化的区别,文件管理不容忽视

    目前 xff0c 数字化 一词铺天盖地 xff0c 已经成为经济 科技等领域最热门的话题 社会各界乃至国家都非常重视 xff0c 大力推广 xff0c 可以说是国家战略 信息化 xff0c 经常和数字化一起被提及 xff0c 是两个容易混淆
  • Dev-C++ 5.11简单使用说明

    点此下载 xff0c 下载完后解压并双击 Dev Cpp 5 11 TDM GCC 4 9 2Setup exe xff0c 默认安装即可 使用过程如下 xff1a 0 打开Dev C 43 43 开发环境 1 新建源文件 xff0c 按C
  • Deep Belief Network简介

    1 多层神经网络存在的问题 常用的神经网络模型 一般只包含输入层 输出层和一个隐藏层 xff1a 理论上来说 隐藏层越多 模型的表达能力应该越强 但是 当隐藏层数多于一层时 如果我们使用随机值来初始化权重 使用梯度下降来优化参数就会出现许多
  • 神经网络浅讲:从神经元到深度学习

    神经网络是一门重要的机器学习技术 它是目前最为火热的研究方向 深度学习的基础 学习神经网络不仅可以让你掌握一门强大的机器学习方法 xff0c 同时也可以更好地帮助你理解深度学习技术 本文以一种简单的 xff0c 循序的方式讲解神经网络 适合
  • CentOS7使用firewalld打开关闭防火墙与端口

    1 firewalld的基本使用 启动 xff1a systemctl start firewalld 关闭 xff1a systemctl stop firewalld 查看状态 xff1a systemctl status firewa
  • Vue生命周期

    Vue实例的生命周期 什么是生命周期 xff1a 从Vue实例创建 运行 到销毁期间 xff0c 总是伴随这各种各样的事件 xff0c 这些事件统称为生命周期 生命周期钩子 xff1a 就是生命周期事件的函数 主要的生命周期函数分类 xff

随机推荐

  • toapi模块简单使用

    toapi是一个api与爬虫结合的一个库 使用简单 可以自定义api展示 简单的mockserver 但只限制于get请求 toapi会在同级目录下建立缓存机制 再次访问就会读缓存了 安装 pip intall toapi pip inst
  • 高等数学同济第七版课后答案上册

    高等数学同济第七版课后答案上册 下载地址 xff1a 链接 xff1a https pan baidu com s 185C8RB4Y9pYO84V4Rup1Wg 提取码 xff1a p7o4 如果链接失效扫一扫右侧 xff0c 回复 高等
  • 以Integer类型传参值不变来理解Java值传参

    最近在写代码的时候出了一个错误 xff0c 由于对值引用理解的不深 将Integer传入方法中修改 xff0c 以为传入后直接修改Integer中的值就不用写返回值接收了 xff0c 虽然很快发现了问题 xff0c 但还是来总结一下 首先是
  • HD2AV_F3B

    文档内容 xff1a 循环存储器的编写 xff0c 每一行的像素输入进行存储 xff0c 再依据目标像素所在行进行相应的读取 工程中会开辟一定空间的RAM用于存储 xff0c 但是以一个循环的顺序去读写换 时间节点 xff1a 2014 1
  • pip install xxxx报错(一大堆红色exception)【解决】

    安装个distribute或nose或lpthw web或virtualenv 都可能出现下面问题 root 64 kali pip install distribute Collecting distribute Exception Tr
  • 防火墙关闭后不能ping通的解决办法

    修改被ping服务器的防火墙设置 xff1a 开始 控制面板 防火墙 高级 入站规则 文件和打印机共享 回显请求 ICMPv4 In 右键 启用 一共有两个 转载于 https www cnblogs com zhjx0521 p 1041
  • cmake设置mfc编译项目

    cmake minimum required VERSION 3 0 项目名 set PROJ NAME DCMLIB project PROJ NAME 设置变量 set CMAKE ALLOW LOOSE LOOP CONSTRUCTS
  • css 调转180度:transform: rotate(180deg);

    css 调转180度 xff1a transform rotate 180deg 转载于 https www cnblogs com shark1100913 p 8961298 html
  • OpenStack虚拟机冷迁移与热迁移

    一 虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式 1 1冷迁移 xff1a 冷迁移 cold migration xff0c 也叫静态迁移 关闭电源的虚拟机进行迁移 通过冷迁移 xff0c 可以选择将关联的磁盘从
  • ubuntu下安装谷歌浏览器

    deb 是 Debian Linux 的安装格式 xff0c 在 ubuntu 中同样可以使用 要安装 deb 安装包 xff0c 需要使用 dpkg这个终端命令 xff0c 命令格式如下 xff1a sudo dpkg i lt pack
  • 更改root与vnc密码,配置vnc

    更改root密码 登录到root用户下 passwd 更改vnc密码 vncpasswd 配置vnc vi etc sysconfig vncservers 找到vncservers 61 34 1 myusername 34 这个字符串
  • linux vnc端口修改,vncserver端口的修改

    vnc的默认端口是5901 xff0c 这个说法是不对的 vnc并不是只有一个端口 先看看这个配置 VNCSERVERS 61 34 1 oracle 2 root 34 VNCSERVERARGS 1 61 34 geometry 800
  • winform布局格式

    一 默认布局 可以加panel xff0c 也可以不加 xff1b 通过鼠标拖动控件的方式 xff0c 根据自己的想法布局 拖动控件的过程中 xff0c 会有对齐的线 xff0c 方便操作 xff1b 也可选中要布局的控件 xff0c 在工
  • 事件(信号量、邮箱、消息队列)

    对于共享数据 xff0c 单纯通过加锁来保护在代码实现上这并不是很困难的 真正困难的地方是辨认出需要共享的数据和临界区 xff01 这里有一个很好的经验 xff1a 如果有其他的执行线程可以访问这些数据 xff0c 那么就要给这些数据加锁
  • Hadoop通过API访问HDFS

    1 version 1 通过Hadoop API访问HDFS 64 throws IOException 64 Test public void readFileByAPI throws IOException 获取hadoop配置信息 C
  • 对新课程的学习与期望

    我希望这门课可以让我熟练的掌握网站开发的知识 xff0c 我希望学完这门课后我可以创建出一个我网站 xff0c 我计划每周在这门课上花费13个小时 xff0c 每个礼拜的周一到周五的晚上花两个小时学习高级网站开发 转载于 https www
  • Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(8)

    问题导读 xff1a 1 怎样使用arp responder xff1f 2 怎样搭建l2pop环境 xff1f 3 ARP Responder arp responder 的原理不复杂 Neutorn DB 中保存了所有的端口的 MAC
  • SDN控制器ONOS的学习过程[mininet]

    命令语法 这个符号代表现在处于 Linux 的shell 交互下 xff0c 需要使用的是 Linux 命令mininet gt 这个符号表示现在处于 Mininet 交互下 xff0c 需要使用的是 Mininet 的命令 xff03 这
  • 什么是网络操作系统?网络操作系统具有哪些基本功能?

    网络操作系统是网络上各计算机能方便而有效地共享网络资源 xff0c 为网络用户提供所需的各种服务的软件和有关规程的集合 网络操作系统与通常的操作系统有所不同 xff0c 它除了应具有通常操作系统应具有的处理机管理 存储器管理 设备管理和文件
  • [教程] 【原创】媒体扫描耗电的彻底解决办法(申精)

    http bbs gfan com android 6740350 1 1 html 原创处女贴 xff0c 呵呵 研究换4 1 2也有段时间了 xff0c 4 1 2各方面功能均让我挺满意的 xff0c 用着也蛮顺手的 偶尔上论坛 xff