当前位置: 首页 > news >正文

求助如何做网站推广微博网站开发

求助如何做网站推广,微博网站开发,如何制作多网页网站,手机兼职在哪个网站做Android 屏幕显示与 Bitmap 内存详解 前言 在 Android 开发中#xff0c;理解屏幕显示单位和 Bitmap 内存占用是构建高效应用的基础。本文将详细介绍相关概念、计算公式及单位转换#xff0c;并通过实例分析 Bitmap 在内存中的表现。 一、屏幕显示单位基础 1.1 基本单位及…Android 屏幕显示与 Bitmap 内存详解 前言 在 Android 开发中理解屏幕显示单位和 Bitmap 内存占用是构建高效应用的基础。本文将详细介绍相关概念、计算公式及单位转换并通过实例分析 Bitmap 在内存中的表现。 一、屏幕显示单位基础 1.1 基本单位及概念 px 手机屏幕分辨率的基本单位与物理像素一一对应dp 密度无关像素1dp (屏幕密度/160)px用于保证不同屏幕密度下视图尺寸的一致性sp 可缩放像素主要用于字体大小会随系统字体大小设置变化dpi 屏幕密度每英寸包含的像素点数密度越大每英寸内容纳的点数就越多ppi 每英寸像素数由屏幕分辨率和物理尺寸计算得出的近似值 1.2 Android 密度等级 密度等级密度值(dpi)比例对应系数资源目录ldpi1200.75x0.75drawable-ldpimdpi1601x1.0drawable-mdpihdpi2401.5x1.5drawable-hdpixhdpi3202x2.0drawable-xhdpixxhdpi4803x3.0drawable-xhdpixxxhdpi6404x4.0drawable-xxhdpi 二、屏幕单位计算公式与转换 2.1 基本计算公式 px 与 dp 的转换: px dp × (dpi ÷ 160) dp px × (160 ÷ dpi)px 与 sp 的转换: px sp × (dpi ÷ 160) × fontScale sp px ÷ ((dpi ÷ 160) × fontScale)ImageView 实际像素计算: 实际像素宽/高 XML中设置的dp值 × (inTargetDensity ÷ 160)Bitmap 尺寸计算: 加载后的Bitmap宽/高 原始宽/高 × (inTargetDensity ÷ inDensity) 2.2 单位转换工具 object DisplayUtils {/*** dp转px*/fun dp2px(context: Context, dpValue: Float): Int {val scale context.resources.displayMetrics.densityreturn (dpValue * scale 0.5f).toInt()}/*** px转dp*/fun px2dp(context: Context, pxValue: Float): Int {val scale context.resources.displayMetrics.densityreturn (pxValue / scale 0.5f).toInt()}/*** sp转px*/fun sp2px(context: Context, spValue: Float): Int {val fontScale context.resources.displayMetrics.scaledDensityreturn (spValue * fontScale 0.5f).toInt()}/*** px转sp*/fun px2sp(context: Context, pxValue: Float): Int {val fontScale context.resources.displayMetrics.scaledDensityreturn (pxValue / fontScale 0.5f).toInt()}/*** 获取屏幕宽度(px)*/fun getScreenWidth(context: Context): Int {return context.resources.displayMetrics.widthPixels}/*** 获取屏幕高度(px)*/fun getScreenHeight(context: Context): Int {return context.resources.displayMetrics.heightPixels}/*** 获取状态栏高度*/fun getStatusBarHeight(context: Context): Int {val resourceId context.resources.getIdentifier(status_bar_height, dimen, android)return if (resourceId 0) {context.resources.getDimensionPixelSize(resourceId)} else {0}} }2.3 获取设备显示信息 fun getDisplayMetricsInfo(context: Context): String {val dm context.resources.displayMetricsreturn 屏幕宽度(px): ${dm.widthPixels}屏幕高度(px): ${dm.heightPixels}屏幕密度(density): ${dm.density}屏幕密度DPI: ${dm.densityDpi}X轴DPI: ${dm.xdpi}Y轴DPI: ${dm.ydpi}字体缩放因子: ${dm.scaledDensity}屏幕宽度(dp): ${dm.widthPixels / dm.density}屏幕高度(dp): ${dm.heightPixels / dm.density}.trimIndent() }三、Bitmap 内存计算与管理 3.1 Bitmap 内存计算公式 Bitmap 在内存中的占用大小计算公式 内存大小(字节) 宽度(像素) × 高度(像素) × 每像素字节数每像素字节数由 Bitmap.Config 决定 配置类型每像素字节数说明ALPHA_81仅存储透明度RGB_5652无透明度通道ARGB_88884默认配置最高质量RGBA_F168高精度浮点配置 3.2 Bitmap 内存大小未压缩的原始像素数据大小 以一张 1920×1080 分辨率的图片为例 内存占用 (ARGB_8888)1920 × 1080 × 4 8,294,400 字节 ≈ 7.91 MB 3.3 不同单位的内存大小表示 fun calculateBitmapMemorySize(bitmap: Bitmap): String {val bytes bitmap.byteCountval kb bytes / 1024.0val mb kb / 1024.0return 内存占用(Bytes): $bytes bytes内存占用(KB): ${String.format(%.2f, kb)} KB内存占用(MB): ${String.format(%.2f, mb)} MB.trimIndent() }
http://www.w-s-a.com/news/587669/

相关文章:

  • vps建设网站别人访问不了网页链接生成器
  • 网站建设一般要多少钱电商平台取名字大全
  • 怎么做网站封面上的图网站开发语言 微信接口
  • 免费观看网站建设优化安徽
  • 上海电商网站开发公司做婚恋网站的翻译好吗
  • 以网站建设为开题报告大数据技术就业前景
  • dw做网站字体 别人电脑显示青岛活动策划公司
  • 网站成立时间查询墨猴seo排名公司
  • 技术支持 随州网站建设苏州企业网站建设定制
  • 美食网站开发目的与意义网站开发环境选择
  • 青岛西海岸新区城市建设局网站开发板在null不可用
  • 企业信息管理系统免费seo优化个人博客
  • 做任务的设计网站泰州哪里做网站
  • 什么网站可以做设计赚钱吗南京十大软件公司排名
  • 网站开发时间进度北京有哪些著名网站
  • 深圳比较好的设计网站公司自己的网站到期域名如何续费
  • 温州做网站哪儿新云网站模版
  • 网站开发 视频存在哪检察院前期网站建设
  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品