202107-09 Redis高级数据类型Hyperloglog、Bitmap的使用 目录前言HyperloglogHyperloglog简介Hyperloglog作用命令行中的使用SpringBoot中的使用BitmapBitmap简介Bitmap作用命令行使用BitmapSpringBoot使用Bitmap尾言前言很多小伙伴在面试中都会被问道Redis的常用数据结构有哪些?可能很大一部分回答都是string、hash、list、set、zset。当然啦,这个答案肯定是没有错的,但是相信这个答案,面试官已经听的耳朵都起茧了。本身我们选择的这个行业竞争就极强,学历拼不过难道还要知识都... 继续阅读 >
202107-01 Android 基于Bitmap的四种图片压缩方式 目录知识点介绍正文1、质量压缩2、采样率压缩3、缩放法压缩4、RGB_565通过改变图片格式来实现压缩总结知识点介绍Android中图片主要以Bitmap的形式存在,所以压缩图片主要就是减少Bitmap的大小。Bitmap的大小可以通过如下的公式计算得到:size=width*height*单个像素所占字节数。因此压缩图片通过改变公式中的三个变量即可实现。单个像素所占空间大小在Android中有多种,详见如下格式... 继续阅读 >
202102-21 详解Android Bitmap的使用 一图片表示原理图片是由每个像素点来组成像素点就是小方块图片的大小等于宽*高*每个像素点的大小二加载图片OOM异常解决办法 其中big.jpg是一张21.2MB的高清图publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{ImageViewmImageView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.acti... 继续阅读 >
202012-02 Bitmap海量数据快速查找去重代码示例 题目描述给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数,假设你有1GB内存可用。如果你只有10MB的内存呢?解题思路对于40亿个整数,如果直接用int数组来表示的大约要用4010^84B=16GB,超出了内存要求,这里我们可以用bitmap来解决,bitmap基本思想是一位表示一个整数,比如我们有6个数据:1731564假设bitmap容量为8,当插入7时bit[7]=1,以此类推bit[3]=1bit[1]=1bit[5]=1……bit[4]=1这样我们... 继续阅读 >
202010-10 解决Bitmap通过getWidth和getHeight获取尺寸不符的问题 在使用BitmapFactory加载图片时,常会出现这种情况,返回的图片尺寸与实际尺寸不符。这是由于我们把图片资源放到res/drawable文件路径下时,选择的文件不同所致,不同的文件夹会有不同的缩放。1、加载并显示图片将70*98的图片放在res/drawable-hdpi中。publicclassMainActivityextendsActivity{TextViewtv_wl;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setCon... 继续阅读 >
202010-08 c# 实现位图算法(BitMap) 算法原理BitMap的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此可以大大节省存储空间。BitMap可以看成一种数据结构。假设有这样一个需求:在20亿个随机整数中找出某个数m是否存在其中,并假设32位操作系统,4G内存。在Java中,int占4字节,1字节=8位(1byte=8bit)。如果每个数字用int存储,那就是20亿个int,因而占用的空间约为(2000000000*4/1024/1024/1024)≈... 继续阅读 >
202009-24 Android 实现将Bitmap 保存到本地 Overview图片是一个可以使你程序变得比较的美观,所以我们会在我们的软件中使用图片。但是对于图片的操作也是比较的复杂。今天,我们学习一下如是将我们的图片保存到我们的本地。开发环境AndroidStudio3.6Android11MacOS10.15模拟机GooglePixel3APIR然后学习一下如何来完成我们的功能按照国际惯例,我们先来看一下我们的代码:/***Bitmap帮助类之一*/classBitmapUtils{/***SaveBitmap**@paramnamef... 继续阅读 >
201806-20 时序数据库技术体系 – Druid 多维查询之Bitmap索引 时序数据库从抽象语义上来说总体可以概括为两个方面的基本需求,一个方面是存储层面的基本需求:包括LSM写入模型保证写入性能、数据分级存储(最近2小时的数据存储在内存中,最近一天的数据存储在SSD中,一天以后的数据存储在HDD中)保证查询性能以及存储成本、数据按时间分区保证时间线查询性能。另一方面是查询层面的基本需求:包括基本的按时间线进行多个维度的原始数据查询、按时间线在多个维度进行聚合后的数据统计查询需... 继续阅读 >
201805-30 Android内存溢出OOM:常见内存泄漏 在上一篇文章中我们对Android中内存有了一个基本的了解,在本文继续介绍有关内存溢出的相关点。当内存泄漏超过一定的界限,必然会引起内存溢出,有些内存泄漏在开发中是比较常见的,接下来通过介绍几种常见额内存泄漏情形,以便在开发过程中采取必要的措施以此防止内存泄漏。如下是Android开发者在开发中比较常见的几种内存泄漏,并给出了相对应的防止内存泄漏的解决方式。单例模式引起的内存泄漏单例模式可以说在A... 继续阅读 >
201712-25 如何做到单机毫秒完成上亿规模大数据常规统计 虽然现在最火的是AI,但是大数据和计算能力仍然是机器学习/AI算法的重要支撑,我们的业务场景大部分是通过手机终端、服务器日志不断产生日志数据,通过消息通道发送到大数据平台进行存储、加工和统计,然后在统计数据之上提供算法挖掘用户偏好行为和画像,为此,我们的关键任务是需要从海量数据里统计分析每项产品的去重用户、新增用户、pv、uv、dau(日活)、mau(月活)等指标,这个过程存储占用越少,计算时间越快越好。Fourinon... 继续阅读 >
201704-07 Android性能优化系列之Bitmap图片优化 在Android开发过程中,Bitmap往往会给开发者带来一些困扰,因为对Bitmap操作不慎,就容易造成OOM(Java.lang.OutofMemoryError-内存溢出),本篇博客,我们将一起探讨Bitmap的性能优化。为什么Bitmap会导致OOM?1.每个机型在编译ROM时都设置了一个应用堆内存VM值上限dalvik.vm.heapgrowthlimit,用来限定每个应用可用的最大内存,超出这个最大值将会报OOM。这个阀值,一般根据手机屏幕dpi大小递增,dpi越小的手机,每个... 继续阅读 >