news 2026/8/17 19:01:51

导入自己的手机APP使用时长数据,统计各APP使用占比,输出需卸载的高频低价值APP。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
导入自己的手机APP使用时长数据,统计各APP使用占比,输出需卸载的高频低价值APP。

完整输出一个可运行的 Python 项目示例,用于导入手机 APP 使用时长数据、统计各 APP 使用占比、输出需卸载的高频低价值 APP。

1. 实际应用场景描述

在智能手机普及的今天,许多人每天会在多个 APP 上花费大量时间,但往往并不清楚哪些 APP 真正带来了价值,哪些只是消耗时间的“低价值应用”。

例如:

- 某些社交或短视频 APP 占用大量时间,但对工作、学习帮助不大。

- 游戏类 APP 在某些时段频繁使用,影响生产力。

本程序基于大数据与智能管理课程中的数据采集、统计分析与决策支持方法,帮助用户导入手机 APP 使用时长数据、自动统计各 APP 使用占比、识别高频但低价值的 APP 并给出卸载建议,从而优化时间管理。

2. 痛点分析

- 数据分散:使用时长数据可能来自 iOS 屏幕使用时间、Android Digital Wellbeing 等不同来源,格式不统一。

- 缺乏统计:无法直观看到各 APP 的时间占比。

- 价值难判:即使知道某个 APP 用时多,也难以判断是否值得保留。

- 手动分析耗时:面对几十个 APP,人工判断非常低效。

3. 核心逻辑讲解

1. 数据导入:从 CSV 文件读取 APP 名称、使用时长(分钟)。

2. 总时长计算:统计所有 APP 的总使用时长。

3. 使用占比计算:

\text{占比} = \frac{\text{APP使用时长}}{\text{总时长}} \times 100\%

4. 低价值 APP 识别:

- 定义“高频”为使用时长排名前 30%。

- 定义“低价值”为不在白名单(如工作相关、学习工具、通讯软件)中的 APP。

5. 建议生成:列出高频低价值 APP,建议卸载或限制使用。

4. 代码模块化

项目结构

app_usage_analyzer/

├── main.py

├── app_data.py

├── analyzer.py

├── advisor.py

└── README.md

"app_data.py"

# APP 数据模块

import csv

DATA_FILE = "app_usage.csv"

def load_app_usage():

"""加载 APP 使用时长数据"""

data = []

try:

with open(DATA_FILE, 'r', encoding='utf-8') as f:

reader = csv.DictReader(f)

for row in reader:

data.append({

"app": row["app"],

"minutes": int(row["minutes"])

})

except FileNotFoundError:

pass

return data

"analyzer.py"

# 分析模块

from collections import Counter

def calculate_usage_percentage(data):

"""计算各 APP 使用占比"""

total_minutes = sum(item["minutes"] for item in data)

if total_minutes == 0:

return []

result = []

for item in data:

percentage = (item["minutes"] / total_minutes) * 100

result.append({

"app": item["app"],

"minutes": item["minutes"],

"percentage": round(percentage, 2)

})

# 按使用时长降序排序

result.sort(key=lambda x: x["minutes"], reverse=True)

return result

def get_high_frequency_apps(data, top_ratio=0.3):

"""获取高频使用的 APP 列表"""

if not data:

return []

sorted_data = sorted(data, key=lambda x: x["minutes"], reverse=True)

cutoff_index = int(len(sorted_data) * top_ratio)

return [item["app"] for item in sorted_data[:cutoff_index]]

"advisor.py"

# 建议模块

def generate_uninstall_advice(high_freq_apps, all_apps_with_percentage):

"""

生成卸载建议

"""

# 白名单:工作、学习、通讯类 APP(可根据需求自定义)

whitelist = {"微信", "钉钉", "企业微信", "邮箱", "WPS Office", "Notion"}

suggestions = []

for item in all_apps_with_percentage:

if item["app"] in high_freq_apps and item["app"] not in whitelist:

suggestions.append({

"app": item["app"],

"minutes": item["minutes"],

"percentage": item["percentage"]

})

if not suggestions:

return "恭喜!没有明显的高频低价值 APP,请继续保持合理的使用习惯。"

advice_text = "检测到以下高频低价值 APP,建议卸载或限制使用:\n"

for s in suggestions:

advice_text += f"- {s['app']}: 使用 {s['minutes']} 分钟/天, 占比 {s['percentage']}%\n"

advice_text += "\n建议:\n"

advice_text += "1. 将此类 APP 移至第二屏或文件夹,减少随手打开的概率。\n"

advice_text += "2. 设置使用时长限制(Screen Time / Digital Wellbeing)。\n"

advice_text += "3. 用更有价值的活动替代刷这些 APP 的时间。\n"

return advice_text

"main.py"

# 主程序入口

from app_data import load_app_usage

from analyzer import calculate_usage_percentage, get_high_frequency_apps

from advisor import generate_uninstall_advice

def main():

data = load_app_usage()

if not data:

print("未找到 APP 使用数据,请检查 app_usage.csv 文件。")

return

usage_stats = calculate_usage_percentage(data)

print("=== 各 APP 使用占比 ===")

for item in usage_stats:

print(f"{item['app']}: {item['minutes']} 分钟/天, 占比 {item['percentage']}%")

high_freq_apps = get_high_frequency_apps(data)

print("\n=== 卸载建议 ===")

print(generate_uninstall_advice(high_freq_apps, usage_stats))

if __name__ == "__main__":

main()

5. README.md

# App Usage Analyzer

一个基于 Python 的手机 APP 使用时长分析工具,可统计各 APP 使用占比并推荐需卸载的高频低价值 APP。

## 功能

- 导入 APP 使用时长数据

- 统计各 APP 使用占比

- 识别高频低价值 APP

- 生成卸载或限制使用建议

## 使用方法

1. 克隆或下载本项目

2. 准备 `app_usage.csv` 文件,格式如下:

app,minutes

抖音,120

微信,60

...

3. 运行:

bash

python main.py

## 项目结构

- `main.py`:主程序入口

- `app_data.py`:数据加载

- `analyzer.py`:统计分析

- `advisor.py`:建议生成

## 扩展方向

- 接入 iOS Screen Time / Android Digital Wellbeing API 自动获取数据

- 增加分类标签(社交、娱乐、工具等)进行更精细分析

- 使用 Matplotlib 绘制饼图或柱状图展示使用占比

6. 使用说明

1. 在项目根目录放置

"app_usage.csv" 文件,确保列名为

"app",

"minutes"。

2. 运行

"main.py",程序会输出各 APP 使用占比和卸载建议。

3. 可根据需求修改

"whitelist" 白名单,调整低价值 APP 的判断标准。

7. 核心知识点卡片

知识点 说明

CSV 文件读取 用

"csv.DictReader" 读取结构化数据

占比计算 单个值 / 总值 × 100%

排序与筛选 按使用时长排序,取前 N% 作为高频

白名单机制 排除工作、学习、通讯等必要 APP

模块化设计 数据、分析、建议分离,便于维护

大数据思维 从日常使用数据中发现时间管理问题,指导行为优化

8. 总结

本项目将大数据与智能管理课程中的数据采集、统计分析、决策支持方法应用于个人时间管理,解决了APP 使用数据分散、价值难判、手动分析耗时的痛点。

通过模块化设计和清晰的分析逻辑,用户可以快速识别高频低价值 APP 并获得可执行的优化建议。未来可结合机器学习对 APP 进行自动分类,并接入真实设备数据,打造完整的数字生活管理助手。

如果你愿意,可以加上 Matplotlib 饼图展示 APP 使用占比 或 柱状图展示高频低价值 APP,让结果更直观。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/9 17:04:22

如何使用Spring框架实现AOP?

一、先明确核心概念(快速回顾)在动手前,先理清 Spring AOP 的核心术语,避免后续代码理解混乱:切面(Aspect):封装 “横切逻辑” 的类(比如日志、权限校验、事务&#xff0…

作者头像 李华
网站建设 2026/8/10 10:20:21

zynq mpsoc 以太网联网脚本

1静态IP #!/bin/bash # 使用ifconfig的版本INTERFACE="eth0" IP_ADDR="192.168.1.10" NETMASK="255.255.255.0" BROADCAST="192.168.1.255"# 检查root权限

作者头像 李华
网站建设 2026/8/3 2:59:16

AI模拟评标系统:用技术重构招投标公平与效率

传统评标常陷“效率低、偏差大、难追溯”的困境,百余份标书需专家逐页审阅,主观评分易有分歧,合规风险潜藏。AI模拟评标系统并非替代专家,而是以“数字助理”身份,用四大核心技术打通评标全流程,实现“机器…

作者头像 李华
网站建设 2026/8/4 10:48:13

Android 线程梳理

Android 线程梳理 Android 进程梳理 APP 进程的线程 Heap thread poo 异步的HeapWorker, 包含5个Signal Catcher 捕捉Kernel信号,比如SIGNAL_QUITJDWP 虚拟机调试的线程ReferenceQueueD 用于GCFinalizerDaemon 用于GCFinalizerWatchd 用于GCHeapTrimmerDaem 用于G…

作者头像 李华
网站建设 2026/8/9 15:44:20

Postman发送POST请求,模拟请求头界面的响应信息

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快postman发送POST请求示例:微信公众平台创建用户标签接口,业务操作如下:1、打开微信公众平台,微信扫码登录&#xff1…

作者头像 李华