240 发简信
IP属地:湖北
  • Java 删除集合元素的方式

    简介 删除集合中的元素,有两种删除的形式,一种是删除特定元素,一种是删除特定索引的元素。 删除的方式有:使用Java API (java 8)、从后往前的循环、使用迭代器、使...

  • @合并 设置的周期是7,从100算起,应该在107过期,所以有问题

    Glide动态URL处理及过期设置

    场景描述 之前做项目时遇到这样的场景,我们的用户头像保存在阿里云OSS上,涉及到动态URL以及过期处理的问题。 上传头像的逻辑 首先从APP服务端获取Token 通过Toke...

  • 120
    Android App性能评测分析-内存篇

    1、内存了解 在Android App的性能优化的各个部分里,内存方面的知识较多且不易理解,内存的问题绝对是最令人头疼的一部分,需要对内存基础知识、内存分配、内存管理机制等非...

  • 120
    Dagger2神器入门(四)

    前序 Dagger2神器入门(一)Dagger2神器入门(二)Dagger2神器入门(三)在上面的一系列文章中,我们了解了1)什么是依赖注入?2)如何使用Dagger2进行依...

  • 文章已经添加了这方面的说明

    Glide动态URL处理及过期设置

    场景描述 之前做项目时遇到这样的场景,我们的用户头像保存在阿里云OSS上,涉及到动态URL以及过期处理的问题。 上传头像的逻辑 首先从APP服务端获取Token 通过Toke...

  • 多谢提醒。我的的缓存刷新时间的确不是严格的,但你的算法也是不能得到预期的的结果的:
    for (i in 100..150) {
    println("$i, key->${(i - i % 7) / 7}")
    }
    结果:
    //100, key->14
    //101, key->14
    //102, key->14
    //103, key->14
    //104, key->14
    //105, key->15
    //106, key->15
    //107, key->15

    Glide动态URL处理及过期设置

    场景描述 之前做项目时遇到这样的场景,我们的用户头像保存在阿里云OSS上,涉及到动态URL以及过期处理的问题。 上传头像的逻辑 首先从APP服务端获取Token 通过Toke...

  • 实际上要经过严格失效时间后才更新缓存,必须要保留第一次计算key时的时间firstCalcTime,然后通过如下公式计算:
    val key = (System.currentTimeMillis() - (firstCalcTime % INVALID_TIME) / INVALID_TIME
    缓存第一次计算时的时间,是可以做到的,比如以url作为key,firstCalcTime作为value保存在本地磁盘。这样做会增加额外的工作量,是否有价值,根据你们的需求来吧。

    Glide动态URL处理及过期设置

    场景描述 之前做项目时遇到这样的场景,我们的用户头像保存在阿里云OSS上,涉及到动态URL以及过期处理的问题。 上传头像的逻辑 首先从APP服务端获取Token 通过Toke...

  • Bintray项目发布-GradleBintrayPlugin

    前言 本文介绍如何使用Bintray官方的Gradle插件gradle-bintray-plugin发布项目到Bintray平台,并最终发布到JCenter。 主要参考官方的...

  • Bintray项目发布-BintrayRelease

    前言 使用Gradle插件上传Android项目到Bintray平台是目前通用的做法,很方便。目前常用的Gradle插件有两个,一个是官方的gradle-bintray-pl...

  • Bintray项目发布-手动

    前言 本文主要说明如何生成项目构件,并手动上传构件文件到Bintray平台,最后发布到JCenter仓库这一流程。 发布流程。参考上一篇文章,完整发布流程如下: 准备工作。定...

  • Drawable和Mipmap资源的区别

    区别 在apk安装的时候,mipmap-xxx/下的所有分辨率的图片都会保留,而drawablexxx/下的图片只有保留适配设备分辨率的图片,其余图片会丢弃掉,减少了APP安...

  • Drawable分辨率适配

    问题 定义了不同的drawable-***dpi的文件夹,但只在其中某些里面放置了图片,比如在drawable-xhdpi里放置了图片,其他的文件夹里没有放置图片,那么非xh...

  • @我一定会学会 不知道你是怎么移除的?我用Adapter维护item内容列表,每次移除一项内容后,刷新布局,并没有出现任何问题。其实每次移除后的刷新布局逻辑,与第一次初始化布局是一样的,并没有什么区别。

    开发笔记-GridLayoutManager实现Item均匀分布

    背景描述 最近开发中遇到需求,需要实现图片的格子分布效果,如下图所示 其中要求: 图片与图片的间隔,图片与屏幕的左边距,以及图片与屏幕的右边距,都为固定大小,比如10dp。 ...

  • Bintray项目发布-基础

    前言 发布项目的定义。发布项目到远程JCenter仓库,准确的说是发布项目构件到JCenter仓库,用英语说是Publishing artifacts to the JCen...

  • 一个一个计算,然后看规律,每个span的左间隔计算如下:
    第一列 = space = space * (0 + 1) - spanSpace * 0
    之后的左间隔 = space - 前一个的span的右间隔,而每个span的右间隔=spanSpace-其左间隔。
    第二列 = space - (spanSpace - space) = space * 2 - spanSpace = space * (1 + 1) - spanSpace * 1
    第三列 = space - (spanSpace - (space * 2 - spanSpace)) = space * (2 + 1) - spanSpace * 2
    依次类推。
    ---
    每个span的右间隔 = spanSpace - 其左间隔 = spanSpace * (colIndex + 1) - space * (colIndex + 1)
    ---

    开发笔记-GridLayoutManager实现Item均匀分布

    背景描述 最近开发中遇到需求,需要实现图片的格子分布效果,如下图所示 其中要求: 图片与图片的间隔,图片与屏幕的左边距,以及图片与屏幕的右边距,都为固定大小,比如10dp。 ...

  • 120
    Android构建06-Android应用构建基础

    简介 Android构建流程是指将Android源代码转换成Apk(Android Application Package)这一过程,里面涉及到许多步骤和工具。构建流程由Gr...

  • 开发笔记-GridLayoutManager实现Item均匀分布

    背景描述 最近开发中遇到需求,需要实现图片的格子分布效果,如下图所示 其中要求: 图片与图片的间隔,图片与屏幕的左边距,以及图片与屏幕的右边距,都为固定大小,比如10dp。 ...

  • 120
    Dagger2 最清晰的使用教程

    部分内容参考自:[Android]使用Dagger 2依赖注入 - DI介绍(翻译)[Android]使用Dagger 2依赖注入 - API(翻译) 为什么网上这么多dag...

  • 120
    Gradle系列一 -- Groovy、Gradle和自定义Gradle插件

    1. 概述 Android项目的构建过程是由Gradle插件完成的,Gradle 插件是在Gradle框架的基础上实现的,Gradle框架是使用Groovy语言实现的。因此学...

个人介绍
前端(Android&IOS&Web)开发者