自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

米小阳的博客

积硅步,至千里。

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 RecyclerView嵌套ViewPager下的Wrap_Content问题

文章目录

2020-01-11 17:39:02 681

原创 2017年总结

不知不觉17年就这么不带一片云彩的过去了,作为90年非后的我,今年28,而立之年,已是遥遥相望。去年的时候,自己还是20几岁没心没肺,今年,却是浓浓的紧迫感随之而来。至此,有必要梳理下17年的功过得失,汲取经验,修正道路,早日成为一个IT行业的“四有”好青年,哈哈。 首先说说这一年的工作经历。年初2月份的时候 ,从上家公司离职,准备跳槽。选择离职:一是...

2020-01-08 14:54:52 304

原创 traceview使用总结

文章目录1.traceview的用途2.生成trace文件的三种方式(1)代码生成(2)使用android studio生成(3)DDMS生成3.使用traceview打开trace文件4.分析trace文件1.traceview的用途traceview是Android sdk中的一个工具,用于分析计算性能,跟踪方法耗时导致的卡顿问题。它将traceview文件转为图形,直观的反应出代码的执行...

2019-08-17 17:16:04 10354 1

原创 Android 图片裁剪之三剑式(二)

文章目录1.PorterDuffXfermode 简介2.PorterDuffXfermode 类型介绍3.PorterDuffXfermode 使用场景圆形头像叠加图片还可以实现橡皮擦和加载效果等,这里就不具体叙述了。4.PorterDuffXfermode 在Drawable中的应用1.PorterDuffXfermode 简介在《Android 图片裁剪之三剑式(一)》中讲述了图片裁剪的...

2019-06-29 18:14:48 460

原创 Android 图片裁剪之三剑式(一)

文章目录引言1.第一式:裁剪画布后,再画上图片Canvas.clipPath--> Canvas.drawBitmap第二式:设置画笔的着色器为BitmapShader,直接画图paint.setShader --> canvas.drawCicle/drawRoundRect引言项目开发中显示头像大多都是圆形,以前使用第三方框架RoundedImageView 实现圆形头像,后来...

2019-06-22 18:09:12 631

原创 记一次ANR文件的导出

文章目录1.老版Android系统 anr的导出2.高版本系统 导出3.ANR的缘由1.老版Android系统 anr的导出在项目目录下或app下运行命令: adb pull data/anr/traces.txt测试了华为p7(Android 5.1.1)和荣耀v10(Android 9),发现都能正常导出。但是遇到华为mate10、mate10 pro 一直都导出失败。adb: e...

2019-01-30 18:03:05 9846 10

原创 2018这一年

文章目录18年的DoList19年的Expectations18年的DoList写这篇总结,已是19年1月中旬了,总算不是太晚,还来得及梳理这一年的“风雨飘摇”。1.说说上一年的目标达成情况结果:不及格。技术上python断篇了,一年都没怎么看,算是被动清零。投资上这一年也没看书,收获寥寥;心态上可能有那么一点点成长,不过老夫的肉眼还没看出来。2.那18年我都干了啥上半年一直是“兢兢...

2019-01-12 17:32:25 206

原创 Android组件化探索

Android组件化探索目录组件化的优势组件化的步骤组件化的注意事项[代码地址](https://github.com/RangerAnan/AndroidReView)目录组件化的优势组件化简单的说就是:能任意使用项目中的module来合并一个app.实际开发中,遇到业务很复杂,且业务线较多时,我们往往会将项目模块化。但是有时候仅仅模块化,依然解决不了更深城的需求,举个栗子来说下:刚进...

2018-12-08 14:39:42 132

原创 WebView的Cookie跨域问题

案例前几天遇到这样一个问题:前端开发了一个h5页面,在webView中加载时,发现获取不到 设置的cookie信息.原以为是没设置好,将支持的一级域名梳理了一遍,循环设置;其次客户端自己测试,通过getCookie(url)能正常获取,但是抓包发现页面网络请求的cookie中并没有数据,一时非常奇怪。 继续跟踪,发现页面地址与页面中的网络请求地址,域名不一致。如页面地址www.badi...

2018-11-03 14:02:25 6708 3

原创 ListView开发知识整理

    listView在开发中使用的太多了,但是不少知识还是经常记不住,因今天把listView的一些方法和开发问题,统一整理记录下来。   一、方法或属性    1.stackFromBottom属性:true表示从列表底部开始向上排列。但要注意它是从上往下递增,新数据处在底部。        2.setTranscriptMode:设置数据更新时,滑动模式。有三个值:        alwa...

2018-03-27 15:56:27 201

原创 window下Android项目集成React Native的正确姿势

      React Native的项目中分为Android与IOS,但是若在现有的Android项目中,集成RN,不能按照那个包结构来,我们统一在app文件夹下处理。一、集成步骤:   1.添加js文件      (1)在app文件夹下输入命令 npm init,生成package.json文件。这里会让你输入name等信息,除了name,其他可不输入。打开package.json文件,在sc...

2018-01-24 19:30:52 388

原创 ScheduledThreadPoolExecutor浅谈

ScheduledThreadPoolExecutor称作多线程调度器,继承自ThreadPoolExecutor,添加了按计划执行线程操作的功能,如:延迟,定时,周期执行任务。     一、它继承自ThreadPoolExecutor,首先来看看它的家族。            二、调度方法      (1)schedule(Runnable , delay, TimeUni

2018-01-04 17:33:10 1585

原创 SQLite数据类型的注意事项

sqlite使用动态数据类型,即值的数据类型与值相关,与其容器无关。  1.存储类(Storage Class):数据保存到文件后的表现形式。有:    NULL - 空值    INTERGER - 有符号整数类型    REAL - 浮点数类型    TEXT - 字符串(其编码取决于DB的编码)    BLOB - 二进制表示。    sqlite通过值的类型

2017-11-18 18:06:36 1116

原创 git使用总结

git的命令不少,开发这么长时间,很多时候还是记不住,今天把开发中常见的用法记录下来,不能每次都去百度不是。这篇博客会持续更新,不断解锁git更多姿势。 1.怎么提交代码到gitHup? 可以在gitHup创建一个仓库,拉取项目后,剪切下面的.git文件夹,放到自己的工程里。然后就可以提交代码到gitHup了。 2.本地提交成功(commit),远程push失败。以后...

2017-11-04 16:39:07 803

原创 线程同步与锁(一)

im项目中都会存在离线消息,我们在接受到消息后,开启子线程,处理相关业务逻辑。因为业务逻辑需遵循一定的处理顺序,我们将部分代码加上了锁。但是在离线消息太多时,却出现了线程问题:OutOfMemoryError: pthread_create (1040KB stack) failed: Try again 本地创建线程时发现内存不够,栈内存溢出。话费了不少时间,一方面添加了队列,另一方面将项目中的

2017-10-26 14:55:40 609

原创 通知栏开发与适配Android8.0

1.Android通知栏在项目开发中,还是用的比较多的,一般是这三个步骤来做Android通知栏:    (1)获取通知栏管理器对象 NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);   (2)创建通知对象

2017-09-09 15:22:56 3301 9

原创 gradle差异化打包

前几天碰到这样的需求,需要对当前的项目进行扩展,以其为模板,打包出多个项目来。比如我们的项目是一个养殖的app,现在需要扩展出细分的多个应用:养鱼的,养鸡的,养羊的,养猪的...同一份代码,我们只需要对其差异化的地方单独配置就可以了,我们在app下的build.gradle中配置就可以,通过配置差异化渠道来实现。     productFlavors { ji {

2017-09-07 19:29:41 616

原创 viewpager一屏展示多个视图

最近看到一个应用的banner写的很有意思,在一个viewpager中可以看见左右两个item的部分视图,研究了下,发现实现其实很简单,记述如下。   先看下效果图:     下面来说下实现过程:    1.viewpager及其父控件的布局加上该属性clipChildren=“false”,clipChildren属性表示子view在绘制时不去裁切他们的视图范围。

2017-07-01 14:30:16 5048

原创 Glide异常:You cannot load start a load for a destory activity

使用glide加载图片,在一个Activity中使用了glide加载图片后,首次进入页面显示正常,退出二次进入崩溃,直接报参数异常:You cannot  start a load for on a destory activity。glide是统一封装好的,在其他页面都正常显示,查看了代码,也没发现问题。    网上找了资料,给出了三个解答:       1.将glide.with(co

2017-05-06 19:22:50 2508

原创 Android录制小视频(三)

之前的文章讲到半屏录制小视频,不过微信不已经全屏了么,我们的项目也要与时俱进不是。在仿微信全屏录制的过程中,有两点需要注意的地方:     1.camera的预览大小设置     这个依然采取以前的策略,在支持的预览大小中,选择与当前屏幕宽高比最相近的一个preViewSize,保证surfaceView中画面不会太失真。经过测试发现,手机支持的预览尺寸里还是有很接近屏幕宽高比的,这也可能

2017-05-06 18:56:34 390

原创 Android录制小视频(二)

之前讲了camera的相关问题,今天把mediaRecorder总结一下1.视频的videoSize设置        视频的录制尺寸设置考虑的方面比较多,说下我在这里碰到的一些坑。初次以camera的预览尺寸作为videoSize的,经过测试发现,部分手机(酷派)录制时直接崩溃了,原因是得到的bestPreviewSize不匹配该手机支持的videoSize。后来找到这个方法:getSu

2017-04-21 19:50:14 603 2

原创 Android录制小视频(一)

近来因项目需要开发一个仿微信录制小视频的功能,在camera与mediaRecorder开发中踩到了不少坑,现在记录下来,做个总结。1.camera相关    (1)预览的问题       项目中使用surfaceView做预览时,宽高比例要尽量与camera的预览尺寸比例一致,避免预览界面拉伸或者压缩,我用的是3:4。那么问题来了,微信以前半屏录制小视频是怎么做到的呢?找了不少资

2017-04-20 18:44:13 714

原创 apk签名机制与SHA1算法

前几天又碰到高德地图申请key的时候,需要一个SHA1值,发现自己对签名这块没有足够了解,今天就做个总结。1.SHA1算法sha1用于数字签名,将一段消息生成一个160位的消息摘要,我们可以通过消息摘要来验证消息的完整性。2.apk的签名机制将apk解压,可以看到一个META-INF目录,里面就存放着Android对该apk的签名信息。(1)MANIFEST.M

2017-03-26 09:32:47 2964

原创 Android Dialog 设置圆角无效

这两天有一个需求:设置dialog圆角,写完后发现并没有达到效果,以前也碰到这个问题,这里记录下解决方案,便于查阅。也有百度去查询原因,却没有发现合适的解答,当然更可能是我没找到,还是自己解决吧。Dialog与DialogFragment 解决方案一致:只要设置背景透明解决问题了。  @Override protected void onCreate(Bundle sa...

2017-03-18 16:00:41 4129 3

traceview_tool_lib.zip

traceview工具包,下载后解压到android/sdk/tools目录即可

2019-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除