首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android获取外部和内部存储空间总大小和可用大小 博客分类: Android小技巧 AndroidLinuxOSCache

android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等。      ...block数目::"+ availCount+",剩余空间:"+ availCount*blockSize/1024+"KB"); } }        然后看下读取系统内部空间的..."block大小:"+ blockSize+",block数目:"+ blockCount+",总大小:"+blockSize*blockCount/1024+"KB"); Log.d("", "可用的...block数目::"+ availCount+",可用大小:"+ availCount*blockSize/1024+"KB"); }        StatFs获取的都是以block为单位的,...这样就可以知道手机的内部存储空间和sd卡存储空间的总大小和可用大小了。

4.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

Android性能优化:这是一份全面&详细的内存优化指南

前言 在 Android开发中,性能优化策略十分重要 本文主要讲解性能优化中的内存优化,希望你们会喜欢 目录 1. 定义 优化处理 应用程序的内存使用、空间占用 2....作用 避免因不正确使用内存 & 缺乏管理,从而出现 内存泄露(ML)、内存溢出(OOM)、内存空间占用过大 等问题,最终导致应用程序崩溃(Crash) 3....内存回收策略 步骤1:Application Framework 决定回收的进程类型 Android中的进程 是托管的;当进程空间紧张时,会 按进程优先级低->>高的顺序 自动回收进程 Android...4.0 后提供的一个API 技巧3:当视图变为隐藏状态时,则释放内存 当用户跳转到不同的应用 & 视图不再显示时, 应释放应用视图所占的资源 注:此时释放所占用的资源能显著的提高系统的缓存处理容量...具体操作:实现当前Activity类的onTrimMemory()后,当用户离开视图时会得到通知;若得到返回的参数 = TRIM_MEMORY_UI_HIDDEN 即代表视图变为隐藏状态,则可释放视图占用的资源

1.4K10

A019-布局之GridLayout

GridLayout 网格布局,是Android4.0之后的API才提供的,算是一个相对新的布局容器,它的用法也很简单,类似LinearLayout可以指定方向,也可以指定控件占用多少行或列的空间。...这里我做了一个登录的一个布局,如果不使用GridLayout来进行布局,可能会有多个布局的嵌套才能实现这样的布局,相对比较麻烦,使用了GridLayout我们可以更加灵活的去控制对齐;网格视图针对行和列进行分割为一个个单元格...> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent...android:columnCount=”4” 表示4列 android:rowCount=”4” 表示4行 android:layout_columnSpan=”3” 表示占用3列的空间大小 android...:layout_rowSpan=”3” 表示占用3行的空间大小 android:layout_gravity 可用用来设置控件的对齐方式 总结 前面几篇博客加上本篇博客已经介绍完了Android的布局容器

43630

Android OOM分析

Android内存分配与回收机制 Android系统仅会在新的内存分配之前判断Heap的尾端剩余空间是否足够,如果不够就会触发GC操作,从而腾出更多空闲的内存空间。...通常情况下,GC发生的时候,所有的线程都是会被暂停的。...但是要留意Android系统的版本差异性。 2. 注意在ListView/GridView等出现大量重复子组件的视图里面对ConvertView的复用3....避免对象的内存泄漏 内存对象的泄漏,会导致一些不再使用的对象无法及时释放,这样一方面占用了宝贵的内存空间,很容易导致后续需要分配内存的时候,空闲空间不足而出现OOM。...显然,这还使得每级Generation的内存区域可用空间变小,GC就会更容易被触发,容易出现内存抖动,从而引起性能问题。 1.

2.3K30

Android Studio preview 不固定及常见问题的解决办法

当创建使用任何后端数据相关视图的布局时,一个好的做法是仅在预览时填充它。通过使用tools命名空间而不是android来声明xml属性,这将允许您指定只在预览时使用的属性。...使用tools:text 而不是Android:text,保证了你所有的内容都只是在预览的时候会出现,程序运行起来不会出现所有tools相关的东西。...如果你没有足够的符合所有ImageView要求的宽高比的图片(jpg等),会发生什么?...这时可以使用tools:layout_height和tools:layout_width,并且设置一个固定颜色的toos:background来预览各个尺寸下的图片可以在ImageView中占用空间。...使用它来检查您是否是正在预览,并跳过在Preview时不可用的依赖: public ImageWithCaptionView(Context context, AttributeSet attrs) {

3.6K30

金九银十面试归来:这是一份用心整理的Android面试总结

六个步骤:①、绘制视图的背景;②、保存画布的图层(Layer);③、绘制View的内容;④、绘制View子视图,如果没有就不用;⑤、还原图层(Layer);⑥、绘制滚动条。 三....Android是一个开放式的平台,所以确保应用程序安全是很重要的。Android对每一个安装应用都分配了UID/PID,其中进程的UID是可用来鉴别进程身份。...计算一张图片的大小 图片占用内存的计算公式:图片高度 *图片宽度 *一个像素占用的内存大小.所以,计算图片占用内存大小的时候,要考虑图片所在的目录跟设备密度,这两个因素其实影响的是图片的高宽,android...,一条边上有k-1个内点,每个内点恰好确定一个内接于其中的倾斜正方形,加上非倾斜正方形本身,可知,将边长为k的非倾斜正方形数目乘以k,再按k求和即可得到所有正方形的数目。...设2≤n≤m,k≤n-1,则边长为k的非倾斜有 (n-k)(m-k)个,故所有正方形有 ∑(m-k)(n-k)k个 例如m=n=4 正方形有33=20个 Android 学习,面试文档,视频收集大整理

50330

代码实验室--带你一步步理解使用 ConstraintLayout

你可以手动指定约束, 也可以使用 Android Studio 布局编辑器推理自动指定. 为了更好的理解约束, 让我来看看选中空间可用的基础手柄. 约束 约束帮助你保持控件对齐....视图....下面的图可用作参考. 控制控件的内部尺寸: 控件内部的线允许你控制它的尺寸, 你可以点击特定的线看看它的具体运作方式. 这是 Inspector 中一个控件的放大视图....AnySize: 此选项让控件占用所有可用空间以适应约束. 换句话说, 这更像是匹配约束. 与 match_parent 不同, 后者占用父 View 的所有可用空间....添加一个占用可用空间的 TextView 我们的目标是是为图片的描述添加一个 TextView. 我们已经有一个多行的字符串资源 @string/singapore_description.

2.6K60

Android从零单排系列三十一】《Android布局介绍——TableLayout》

一 TableLayout基本介绍 TableLayout是用于显示表格布局的Android布局容器。它以行和列的形式组织视图,使得视图可以以表格的形式排列。...android:stretchColumns:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。...使用其他视图属性(例如android:layout_width、android:layout_height等)来控制单元格中视图的大小。...android:stretchColumns:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。...android:shrinkColumns:指定当存在额外空间时要缩小的列索引(从0开始)。 android:collapseColumns:指定要折叠隐藏的列索引(从0开始)。

19020

Android训练课程(Android Training) - 构建你的第一个应用

是你的程序包的命名空间(和Java编程语言的包的概念是相同的规则)。你的包名必须是在你的安卓系统的所有的包中是唯一的。...2.执行 android list targets 这将打印出你的SDK中你已经下载的所有可用的安卓平台列表。找到你想用来编译你的APP的平台。记录下目标id。我们建议你选用最高级别的可用版本。...另外的两个属性, android:layout_width 和 android:layout_height,对所有视图来说都是必须的,为了指示它们的尺寸。...weight的值是一个数字,它指示了每个视图可以占用的剩余空间的数量,相对的是兄弟视图占用的数量。...对所有视图来说,默认的weight是0,那么,如果你为仅有的一个视图指定任何weight大于0的值,那么这个视图填满无论多少的剩余空间,知道所有视图被分配他们需要的空间

2.1K00

Android内存优化(四)解析Memory Monitor、Allocation Tracker和Heap Dump

前言 1.Memory Monitor 在Android Studio(以下简称AS)中Android Monitor是一个主窗口,它包含了Logcat,、Memory Monitor、CPU Monitor...它的作用如下: 实时显示可用的和分配的Java内存的图表。 实时显示垃圾收集(GC)事件。 启动垃圾收集事件。 快速测试应用程序的缓慢是否与过度的垃圾收集事件有关。...从上图可以看出,Heap工具共有三个区域,分别是总览视图(标识1)、详情视图(标识2)和内存分配柱状图(标识2)。 3.2 总览视图 其中总览视图可以查看整体的内存情况,表中的显示信息如下所示。...3.3 详情视图 详细视图展示了所有的数据类型的内存情况,表中列的信息如下所示。...当新创建一个对象时,如果碎片内存能容下该对象,则复用碎片内存,否则就会从free空间(总览视图中的free)重新划分内存给这个新对象。free是判断内存碎片化程度的一个重要的指标。

1.8K60

笔记50 | Android自定义View(一)

其意思我们都知道,就是将尺寸设置为“包住内容”和“填充父布局给我们的所有空间”。...这里举个例子,比如我们希望我们的View是个正方形,如果在xml中指定宽高为 wrap_content,如果使用View类提供的measure处理方式,显然无法满足我们的需求。...我们知道int型数据占用32个bit,而google实现的是,将int数据的前面2个bit用于区分不同的布局模式,后面30个bit存放的是尺寸的数据。 那我们怎么从int数据中提取测量模式和尺寸呢?...match_parent就是要利用父View给我们提供的所有剩余空间,而父View剩余空间是确定的,也就是这个测量模式的整数里面存放的尺寸。 wrap_content--->AT_MOST。...---- 动手重写onMeasure函数 上面讲了太多理论,我们实际操作一下吧,感受一下onMeasure的使用,假设我们要实现这样一个效果:将当前的View以正方形的形式显示,即要宽高相等,并且默认的宽高值为

62540

Android OpenGL ES(三)-平面图形

上一章Android OpenGL ES(二)-正交投影 的学习,我们已经能够画正常的图片图形了,这章我们会继续来绘制正方形和圆的这样的平面图形和绘制纹理。...理解纹理的坐标 每个二维的纹理都有自己的坐标空间。其范围是从一个拐角(0,0)到另外一个拐角(1,1)。一个纬度叫做S,而另一个拐角叫做T. ?...二维纹理坐标.png 对比Android系统的Y轴 android系统中的y轴也是向下的。但是纹理坐标是向上的。 纹理的大小 在标准的OpenGL ES 2.0中,纹理不必是正方形。...OpenGL会使用所有的纹理元素生成每个级别的纹理,当过滤纹理时,还要确保所有的纹理元素能被使用。在渲染时,会更具每个片段的纹理元素数量为每个片段选择最合适的级别。...缺点 会占用很多内存,但是有点 优点 同时渲染也会更快。是因为在较小的界别的纹理在GPU的纹理缓存中占用较少的空间。 三线性过滤 如果OpenGL在不同的MIP贴图级别中来回切换。

1.5K30

android:layout_weight详解_什么是layout_weight

layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。 所有视图都有一个layout_weight值,默认为零,意思是需要显示. 多大的视图就占据多大的屏幕空间。...若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体, layout_weight值和在其它视图屏幕布局的layout_weight...该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。...如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。...如果两个文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2, 则剩余空间的三分之一分给第二个,三分之二分给第一个(数值越小,重要度越高)。

87820

OpenGL ES 投影和坐标

假设实际的设备分辨率以像素为单位是1280*720,这在新的Android设备上是一个常用的分辨率。为了使讨论更加容易,让我们也暂时假定OpenGL占用整个显示屏。...归一化设备坐标假定坐标空间是一个正方形,如下图所示: ? 然而,因为实际的视口可能不是一个正方形,图像就会在一个方向上被拉伸,在另一个方向上被压扁。...通过调整已有的坐标空间,最终会改变我们可用空间。 通过这个方法,不论是竖屏模式还是横屏模式,物体看起来就都一样了。...在这个区域内的所有东西都会显示在屏幕上,而区域外的所有东西都会被剪裁掉。 利用正交投影矩阵改变立方体的大小,以使我们可以在屏幕上看到或多或少的场景。我们也能改变立方体的形状弥补屏幕的宽高比的影响。...这个正交投影矩阵会把所有在左右之间,上下之间和远近之间的事物映射到归一化设备坐标中从-1到1的范围,在这个范围内所有事物在屏幕上都是可见的。 主要的区别就是Z轴有一个负值符号,它的效果是反转Z坐标。

98130

UI图片纹理的压缩问题

纹理压缩可以通过减少内存来显著地提高OpenGL的性能,使内存使用的效率更高 问题:无法兼容多个平台的问题,在Android平台,使用ETC1纹理+Alpha通道图的方式;IOS平台,使用PVRTC4...RGBA32等同于原图了,优点是清晰、与原图一致,缺点是内存占用十分大;对于一些美术要求最好清晰度的图片,是首选。   要注意一些png图片,在硬盘中占用几KB,怎么在Unity中显示却变大?...IOS PVRTC4图集和非正方形Android ETC1图集、 缩放原图50%等工作都由TexturePacker完成。   ...ETC1   ETC1+Alpha一般应用在Android版的UI图集中,ETC1不带透明通道,所以需要外挂一张同样是ETC1格式的Alpha通道图。...image Paste_Image.png PVRTC4   PVRTC4在Unity中是直接支持的,不过要注意的细节是,它必须是二次方正方形;也就是说,长宽在二次方的同时,还必须要相等。

1.5K30

带你领略 ConstraintLayout 1.1 的新功能

而在约束布局 1.1 版本中,通过允许您轻松地将任何视图限制为百分比宽度或高度,一切将变得很简单。 ? 使用百分比指定按钮的宽度,以便在保持设计效果的同时适应可用空间。...所有视图都支持 layout_constraintWidth_percent 和 layout_constraintHeight_percent 属性。这些将导致约束被固定在可用空间指定百分比位置。...="0.7" /> 链条 通过链条功能来放置多个元素可以让你配置它们该如何填充可用空间。...spread:均匀分配链中的所有视图 spread_inside:将第一个元素和最后一个元素放置在边缘上,并均匀分布其余元素 packed:将元素包裹在链条的中心 屏障 如果您有几个视图会在运行时更改大小...了解更多 使用约束布局构建响应式 UI | Android Developers 约束布局 | Android Developers 使用约束布局来设计你的 Android 视图 想要了解有关约束布局

1.5K20

带你领略 ConstraintLayout 1.1 的新功能前言带你领略 ConstraintLayout 1.1 的新功能

而在约束布局 1.1 版本中,通过允许您轻松地将任何视图限制为百分比宽度或高度,一切将变得很简单。 ? 使用百分比指定按钮的宽度,以便在保持设计效果的同时适应可用空间。...所有视图都支持 layout_constraintWidth_percent 和 layout_constraintHeight_percent 属性。这些将导致约束被固定在可用空间指定百分比位置。...="0.7" /> 链条 通过链条功能来放置多个元素可以让你配置它们该如何填充可用空间。...spread:均匀分配链中的所有视图 spread_inside:将第一个元素和最后一个元素放置在边缘上,并均匀分布其余元素 packed:将元素包裹在链条的中心 屏障 如果您有几个视图会在运行时更改大小...了解更多 使用约束布局构建响应式 UI | Android Developers 约束布局 | Android Developers 使用约束布局来设计你的 Android 视图 想要了解有关约束布局

1.7K20
领券