`
hsx9566
  • 浏览: 175728 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 获取应用程序的大小,数据大小,缓存大小

阅读更多

以下方法支持Android1.1到2.3.3,即目前所有版本

需要两个aidl文件:

IPackageStatsObserver.aidl
PackageStats.aidl

 

//获取应用程序信息
public void getpkginfo(String pkg){
 PackageManager pm = getPackageManager();
 try {
  Method getPackageSizeInfo = pm.getClass()
  .getMethod("getPackageSizeInfo", String.class,
    IPackageStatsObserver.class);
  getPackageSizeInfo.invoke(pm, pkg,
  new PkgSizeObserver());
 } catch (Exception e) {
  // TODO: handle exception
 }
}
class PkgSizeObserver extends IPackageStatsObserver.Stub {
    public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) {
         System.out.println("应用程序大小: "+pStats.codeSize);
        
     }
 }

 

完整代码参考附件。

分享到:
评论
8 楼 androidli 2011-12-22  
相当的好啊!!!
7 楼 antoon.nee 2011-10-18  
楼主,请教一下,为什么直接用PackageStats.java无法获取到程序数据大小呢?
一定要写aidl吗?
6 楼 stdying 2011-10-17  
虽然不懂,还是看看吧。
5 楼 mochenyang 2011-09-28  
楼主,我做的是获取手机上所有安装软件的缓存,如果cacheSize大于0的我都获取出来,然后显示,但是有一个问题,就是扫描时不能把所有有缓存数据的都显示出来,比如有时显示2个,但重新扫描又变3个这样子,就是好像是丢失一样,怎么回事啊?能帮帮我吗?
4 楼 qinjuning 2011-09-23  
写的很好 ,看了源代码 收获很大。 就是本人对反射不是很了解  呵呵
3 楼 WinLi 2011-09-21  
谢谢分享,完美通过
2 楼 hsx9566 2011-08-16  
wxy5498 写道
怎么我在机器上获得的大小和其他应用程序的比较,都偏大,出现错误,是不是这种获取大小不准确,不知道博主有没有验证过

我发的都是试可以的,才发上来。
1 楼 wxy5498 2011-08-06  
怎么我在机器上获得的大小和其他应用程序的比较,都偏大,出现错误,是不是这种获取大小不准确,不知道博主有没有验证过

相关推荐

    Android获取应用程序的包大小\缓存大小\数据大小

    在Android开发中,有时我们需要获取应用程序的包大小、缓存大小以及数据大小,这有助于我们进行性能优化、存储管理或者用户信息展示。本教程将详细讲解如何利用反射和AIDL技术来实现这一功能。 首先,我们需要理解...

    android获取应用程序大小,缓存数据信息

    1. **获取应用程序大小**: - **APK大小**:可以通过读取AndroidManifest.xml文件中的`<manifest package="...">`标签来获取包名,然后结合系统的`PackageInfo`类获取到安装的APK的大小。使用`PackageManager`的`...

    Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标等关于安装在手机上的

    Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...

    Android 获取应用缓存大小与清除缓存的方法

    在Android开发中,管理和清理应用缓存是保持应用程序性能和用户设备存储空间的重要步骤。`FileCacheUtils` 类提供了一套方法来实现这一目标。以下是对这个类中各个方法的详细解释: 1. **cleanInternalCache...

    获取应用程序大小

    在Android开发中,获取应用程序的大小是一个常见的需求,这有助于我们了解应用的资源占用情况,优化性能,或者在用户界面中提供相关信息。本项目提供的源码将帮助开发者实现这一功能。下面,我们将深入探讨如何在...

    Android获取应用程序大小和缓存的实例代码

    以上就是Android获取应用程序大小和缓存的实例代码的核心部分。通过这样的实现,开发者可以轻松地列出设备上所有应用的大小和缓存信息,从而帮助用户管理和清理存储空间。这个功能在系统优化工具或者第三方应用管理...

    Android中获取应用程序(包)的大小-----PackageManager的使用(二)

    本文将详细讲解如何通过Android的`PackageManager`服务来获取应用程序的大小,以及背后的实现原理。 首先,我们需要理解`PackageManager`在Android中的角色。`PackageManager`是Android系统的一个核心组件,它负责...

    利用aidl和反射获取应用的缓存,应用大小等数据

    在Android系统中,开发者可以利用Android Interface Definition Language (AIDL) 和反射机制来获取应用程序的缓存信息以及应用的整体大小。下面将详细讲解这两个技术及其在获取这些数据时的应用。 **一、Android ...

    android获取应用程序信息小Demo

    在Android开发中,获取应用程序的信息是一项常见的任务,这有助于开发者监控应用的状态,或者为用户提供关于应用的详细信息。本教程将通过一个小型的Demo来演示如何获取应用的名称、版本、缓存大小以及应用程序的...

    Android程序的缓存大小计算

    在Android系统中,缓存是一种常见的机制,用于存储应用程序运行时产生的临时数据,以提高后续访问的速度。了解如何计算Android程序的缓存大小是优化应用性能、管理存储空间和提升用户体验的重要方面。以下将详细解释...

    Android获取应用程序大小的方法

    今天碰到个问题,想获取某个已安装的包的大小... 再后来,我想起系统的设置里面有一个应用程序管理,它里面列出了所有程序的占用空间大小、数据大小和缓存大小。恩,这个就是突破口。以前写过一篇获取其他包的Context

    Android中获取应用程序(包)的信息 PackageManager的使用

    另外,如果需要获取已安装应用的数据和缓存大小,可能需要额外的权限和操作。 - **Application_VariableApp**:这可能涉及到动态加载或者插件化开发。在Android中,`PackageManager`也可以用来动态地安装、卸载APK...

    获取其它程序的缓存大小,清理数据的aidl文件

    这个接口是用于获取和监控应用程序的统计信息,如缓存大小、数据存储大小等。系统服务会使用这个接口来提供应用的存储占用情况,这对于分析和优化应用的存储使用非常有用。核心方法如`onGetStatsCompleted...

    Android中获取应用程序(包)的信息-PackageManager的使用方法

    ### Android中获取应用程序(包)的信息—PackageManager的使用方法 #### 概述 在Android开发过程中,有时我们需要获取系统中应用程序的信息,例如包名(`packagename`)、标签(`label`)、图标(`icon`)以及占用...

    获取安装后的app所占空间大小

    3. **缓存大小**:应用程序在运行过程中可能会生成缓存文件,以提高数据加载速度。这些文件存储在特定的缓存目录下,如`Android/data/<package_name>/cache`。 4. **数据大小**:这包括应用在内部存储或外部存储...

    Android获取app应用程序大小的方法

    在Android平台上,获取应用程序的大小通常涉及到访问系统级的API,因为这些信息是私有的,普通应用无法直接访问。为了实现这一目标,我们需要利用AIDL(Android Interface Definition Language)和Java的反射机制。...

    Android WebView 实现缓存网页数据

    在Android开发中,`WebView` 是一个非常重要的组件,它允许开发者在应用程序内嵌入一个浏览器,用于显示网页内容。本篇文章将详细讲解如何利用 `WebView` 实现网页数据的缓存,使得在网络不稳定或者断开的情况下,...

Global site tag (gtag.js) - Google Analytics