自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ProgramerQ 的博客

每一个在乎自己职业生涯的软件开发人员都应该投资建设一个自己的博客

  • 博客(12)
  • 收藏
  • 关注

原创 Android Paint -- 基本使用方法

Paint画笔的基本使用1、Paint画笔画图形、路径2、Paint画笔来画文字Paint.FontMetricsPaint.FontMetricsInt里面有top,ascent,desent, bottom, leading这几个属性top = top线的y坐标 - baseline线的y坐标bottom = bottom线的y坐标 - baseline线的y坐标ascent ...

2019-04-18 14:23:47 500

原创 用什么手段去解决那些重现率极低的 bug

对于那些重现率极低的bug,要用什么样的方式去解决从源码的角度分析问题出现的原因 ;找到特定机型,让QA想办法重现,比如借助自动化工具 ;猜测可能原因,然后在crash附件埋点抓取有效信息,上报到服务器,然后分析解决;然后在项目中加入灰度测试,定位问题,只要能复现就可以。...

2019-03-27 10:02:08 1381

原创 Android Studio 3.3 Unable to start the daemon process.

Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.解决方案如下:1、Settings–>Experimental Gradle 的选中对号去掉。2、gradle.properties 的这行 org.gradle.jvmar...

2019-02-01 17:20:46 859

原创 Webview 点击状态按钮,然后再进入下一页,再返回,状态按钮又被初始化了

Webview 上面显示一个 H5 ,然后用户在 H5 上面点击【签到】,当前 H5 页面上显示【已签到】,然后继续点击页面上的一个按钮进入下一个 H5 页面,然后按返回,返回到第一个 H5 ,结果显示为【未签到】了。具体的解决方案如下:1、如果是 在 webview 按 back 键时候重新加载页面了,那么就让 h5 做下状态保存。2、也可能在 goback 的时候就没有重新请求,只是加载了...

2019-01-21 17:08:09 997

原创 Android WebView js 注入时机的把握

webview 注入 js 时机怎么把握?目前onpagefinished 时注入 js里面有方法失效,pagestart 时调用 evaluejavascriptyou 会导致 webview 加载不出来。js 注入代码一般分为两类:1、直接注入 js 代码,这个代码可以立刻执行2、注入 js 文件,这个 js 文件需要等到被加载后才能执行,而且如果 js 文件里面有访问 dom,那还需要...

2019-01-16 14:14:51 3437 1

原创 Android 加载长图片(类似微博长图)

巨图片加载,android BitmapRegionDecoder .1、BitmapRegionDecoder.newInstance();2、bitmap = mDecoder.decodeRegion(mRect, mOptions);直接代码见:https://github.com/WalterBryant/LongImageView...

2019-01-08 23:13:57 1027

原创 Android CheckBox设置不可点击

checkBox.setClickable(false);或者checkBox.setEnalbe(false);

2018-12-28 13:32:24 11710

原创 Android InputMethodmanager 引发的内存泄露

InputMethodmanager 引发的内存泄露是Android 输入法的系统 bug,在15 <= API <= 23 中都存在。通过反射来拿到这个 View 并且置空。@Override protected void onDestroy() { super.onDestroy(); InputMethodManager im = (Inp...

2018-12-26 15:59:30 689

原创 Android 怎么防止多并发请求?比如说一个页面需要请求多个接口,可以跟后台网络交互能做哪些性能优化

Android 本来就是要做并发请求,开线程池在里面发网络请求,如果真要防止并发,那就弄个排队的线程池就行了。可以参考 AsyncTask 在高版本的实现,就是排队。跟后台网络交互的优化,列出来了如下三点:比如频繁调用的接口,可以考虑用长连接;需要传输数据的接口可以考虑让服务器支持304状态,比如 etag 和 last-modified;让服务端把多个小接口合并成一个大接口,减少网络请...

2018-12-14 09:27:59 5795 1

原创 调用了 LinearLayout .scrollBy(-20, 0)

Q:现在有个 LinearLayout 里面水平放置了两个 ImageView,接着调用了linearlayout.scrollBy (-20, 0)。两个子view从视觉上确实右移了。我想着 scroll 是移动了内容,那么子 view 的 left 或者 translationX 应该有一个变化了吧,结果是都没有变化。那么问题来了,移动内容到底移动的是啥?A: scrollTo 和 scro...

2018-12-13 09:57:03 272

原创 关于 Android App 首页性能优化

商城类 App 首页一般内容有着很多的效果且大都是图片,首页 Tab 还是fragment 的。优化的方案基本都是老套路:图片压缩和 cache;不要同时持有太多的 fragment,及时销毁;用 RecyclerView;特别耗内存的代码考虑放在单独进程。一些其他需要注意的方向:1.要控制接口数量,首页的接口控制少量。2.首页布局是否过重3.首页的自定义View里面有没有做...

2018-12-12 17:37:07 820

原创 ScrollView 嵌套 ListView 只显示第一行的源码分析

要带着问题来阅读源码,解惑以满足心中的好奇心,知其然并知其所以然,了解发现 Google 工程师的代码设计原理。1、猜测是在 onMeasure 的时候,只测量了第一个 item。在 MeasureSpec.UNSPECIFIED 的时候,只是拿到了 第 1 个 item 的高度。在 MeasureSpec.AT_MOST 的时候,会把 ListView 的 view 全部加载。推测在 ...

2018-09-25 23:36:28 283

空空如也

空空如也

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

TA关注的人

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