AI CODE


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Android自定义View:MeasureSpec的真正意义与View大小控制

2018-08-12 | 2020-12-24 | Android
2.7k 字 | 11 分钟

自定义View是Android开发中最普通的需求,灵活控制View的尺寸是开发者面临的第一个问题,比如,为什么明明使用的是WRAP_CONTENT却跟MATCH_PARENT表现相同。在处理View尺寸的时候,我们都知道最好在onMeasure中设定好自定义View尺寸,那么究竟如何合理的选择这个尺寸呢。直观来说,可能有以下问题需要考虑:

自定的View最好不要超过父控件的大小,这样才能保证自己能在父控件中完整显示自定的View(如果是ViewGroup)的子控件最好不要超过自己的大小,这样才能保证子控件显示完整如果明确为View指定了尺寸,最好按照指定的尺寸设置以上三个问题可能是自定义ViewGroup最需要考虑的问题,首先先解决第一个问题。

阅读全文 »

JVM内存结构 & Java内存模型 & Java对象模型

2018-08-12 | 2020-12-24 | Java
1.4k 字 | 4 分钟

前言

Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。

首先,这三个概念是完全不同的三个概念。本文主要对这三个概念加以区分以及简单介绍。本文并不会深入介绍,感兴趣的朋友可以自行搜索。

阅读全文 »

Win10+Ubuntu双系统:UEFI+GPT和Legacy+MBR引导模式

2018-05-31 | 2020-12-24 | 操作系统
5.4k 字 | 19 分钟

磁盘分区格式介绍

一般来说,磁盘分区表有两种格式:MBR 和 GPT

MBR 分区

在 windows 操作系统下最多支持4个主分区或3个主分区+1个扩展分区(包含多个逻辑分区),扩展分区必须划分为逻辑分区才能使用,1个扩展分区可以划分多个逻辑分区, MBR 分区表不支持容量大于 2.2TB 的分区(一些硬盘制造商将他们的容量较大的磁盘升级到了 4KB 的扇区,这意味着 MBR 的有效容量上限提升到了 16 TB)

如下图 : 是一个 MBR 分区表示例:1 个主分区+1 个扩展分区(划分了 3 个逻辑分区)

2019-7-31-17-27.png

阅读全文 »

Bitmap的内存,加载和回收

2017-07-11 | 2020-12-24 | Android
3.6k 字 | 14 分钟

概述

如何高效地加载Bitmap?其实核心思想很简单,那就是采用BitmapFactory.Options加载所需尺寸的图片。有时候我们用ImageView加载图片,图片的原始尺寸远远大于ImageView。这个时候把图片完全加载进来没有必要,因为ImageView也显示不出来原始的图片。

我们可以使用BitmapFactory.Options对图片进行预加载,然后对图片进行压缩,将缩小后的图片放在ImageView中展示。这样提高了Bitmap加载的性能,一定程度上避免了OOM。

Bitmap加载图片

Bitmap的加载离不开BitmapFactory类,关于Bitmap官方介绍:

Creates Bitmap objects from various sources, including files, streams, and byte-arrays.

BitmapFactory类提供了四类方法用来加载Bitmap:

  1. decodeFile(),从文件系统加载。
  2. decodeResource(),资源文件中加载。
  3. decodeStream(),从输入流加载。
  4. decodeByteArray(),从字节数组中加载。

注意:查看源码可以发现,decodeFile()和decodeResource()间接调用decodeStream()。

阅读全文 »

Bitmap占用内存大小及加载解析

2017-07-10 | 2020-12-24 | Android
4.8k 字 | 20 分钟

文章转自

问题

在讲解图片占用内存前,我们先问自己几个问题:

  • 我们在对手机进行屏幕适时,常想可不可以只切一套图适配所有的手机呢?
  • 一张图片加载到手机中,占用内存到底有多少?
  • 图片占用内存跟哪些东西有关?跟手机有关系么?同一张图片放在不同的dpi文件夹下内存占用会变化么?
  • 如果是网络图片,加载到手机中,占用内存跟手机屏幕有关系么?

带着这些问题我们来一层层解析。我们先看看加载本地资源,不同手机所占内存情况:

一、加载本地资源,不同手机占内存情况

我们如果加载app内图片,想知道它占用多少内存,可先将此资源转成bitmap进行查看。

阅读全文 »
12345

世上无难事
只要肯登攀

21 日志
6 分类
16 标签
GitHub 简书
© 2020
访客 人次 访问量 次
0%