gpt4 book ai didi

java - MeasureSpec.getMode() 如何从整数值中提取众数?

转载 作者:行者123 更新时间:2023-12-01 11:08:27 25 4
gpt4 key购买 nike

我正在学习《专业 Android 4 应用程序开发》的第 4 章,它告诉我尺寸值和模式都是从传递给 onMeasure() 方法的 widthMeasureSpec 和 heightMeasureSpec 值中提取的的自定义 View 。那些不是必须是整数基元以外的其他数据结构才能实现此目的吗?这些整数的编码方式是否可以手动覆盖它们的值?

最佳答案

模式可以是 EXACTLY、AT_MOST 或 UNSPECIFIED。因此从技术上讲,只需要两位来存储模式。如果你查看它们的值,就会发现 EXACTLY 是 0x80000000,AT_MOST 是 0x40000000,UNSPECIFIED 是 0x00000000。他们获取 int 的前两位,并将它们与大小进行“或”运算以获得 MeasureSpec。这可能是早期 Android 的遗留问题,当时设备实际上没有太多内存,因此他们试图尽可能节省内存。

关于java - MeasureSpec.getMode() 如何从整数值中提取众数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com