huch的博客

Android React-Native React开发

Android不集成sdk直接调起原生地图App 路径规划、导航

在我们App开发过程中,经常会有一个优化用户体验的需求:查看某个地址时,给用户提供出路径规划,进行导航。 如果本身App不属于LBS应用的话,为了一个小功能点就去集成各大地图SDK,有点杀鸡用牛刀的感觉,增加了apk的体积,得不偿失。 那么大家第一个想到的是官方有提供不用集成sdk,就能调起地图A...

2018-10-15 02:29:22

阅读数 405

评论数 0

Android内存泄露之非静态内部类|匿名内部类 默认持有外部类的引用

什么是内存泄露? Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部...

2018-09-19 12:11:44

阅读数 643

评论数 0

Android内存泄露之InputMethodManager mNextServedView导致的内存泄露

E/MessageQueue: IdleHandler threw exception java.lang.NullPointerException: Null reference used for synchronization (monitor-enter) at ...

2018-09-11 11:52:03

阅读数 415

评论数 0

npm ERR! cb() never called! 解决办法

执行npm i 命令时,出现了npm ERR! cb() never called!错误 解决方案: 1、首先清除你的npm缓存: sudo npm cache clean -f 一般情况执行完后再试下 应该就OK了 2、如果1方法不奏效的话,只能采用升级覆盖安装: 清除完缓存后,安装...

2018-09-07 20:54:01

阅读数 5104

评论数 0

bash: react-native: command not found

RN搭建开发环境 Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。 出现bash: react-native: command not fou...

2018-09-07 20:34:03

阅读数 494

评论数 0

不透明度百分比 16进制值对照表;rgb色值16进制转化原理

不透明度 16进制值 100% FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% ...

2018-09-01 21:56:48

阅读数 451

评论数 0

Android布局优化之ConstraintLayout

ConstraintLayout是属于Android Studio 2.2的新特性,现在使用As构建默认的Activity,其对应的页面根布局已由RelativeLayout替换成ConstraintLayout,可见官方对其的推荐程度。 <?xml version=&am...

2018-08-30 01:28:04

阅读数 244

评论数 0

Android布局优化之 ViewStub 、include、merge 使用及源码分析

我们先看一个Activity的页面布局结构: 从上可以看出平常咱们实际绘制的页面布局其实是处在第3层。 一、include include标签就是为了解决重复定义相同布局的问题。 例如页面中常用到的标题栏,它几乎是用在所有页面的顶部,在不使用include的情况下咱们需要在每个界面...

2018-08-30 00:13:27

阅读数 248

评论数 0

Regular、Normal、Medium、Light 对应的font-weight值

开发中设计师所出的设计图描述字重的地方往往是这样的: 如上2图描述字重的地方用的是Regular,知道这对应的font-weight值是多少吗? 字体粗细:‘font-weight’属性 名称: font-weight 取值: normal | bold | bolder | li...

2018-08-28 22:13:13

阅读数 4133

评论数 0

WebView 打印web端的console日志(如console.log)

在Android Webview中如何打印web端的console日志呢? 1.调试Web应用程序 Debugging Web Apps 如果您使用运行Android 4.4或更高版本的设备测试您的网络应用,则可以WebView使用Chrome开发者工具远程调试您的网页,同时继续支持旧版And...

2018-08-27 17:45:57

阅读数 2853

评论数 0

RecyclerView 通用Adapter添加头部、尾部 参考ListView的源码实现(二)

前面一篇RecyclerView 通用Adapter添加头部、尾部 参考ListView的源码实现(一)文章中的实现的RecyclerBaseAdapter是有一些缺陷的,它只适用于头部、尾部ItemViewType类型为仅为一种。 后面稍微改进了一下,允许多ItemViewType,但是需要开...

2018-08-25 19:17:47

阅读数 219

评论数 0

在React-Native、React中 设计模式之模板方法模式的应用

大家在写Java、Android程序时,肯定都会用到设计模式之模板方法模式(一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现)。 搭Android框架时,都会去写一个基类BaseActivity: 基类: public abstract class BaseActivity ext...

2018-08-24 22:45:57

阅读数 459

评论数 0

InteractionManager.runAfterInteractions 手势左滑退出后 不再触发回调

前面一篇文章Navigator 过渡动画卡顿的解决方案,提到了 InteractionManager.runAfterInteractions这个解决方案。 InteractionManager Interactionmanager可以将一些耗时较长的工作安排到所有互动或动画完成之后再进行。这样...

2018-08-24 19:39:36

阅读数 558

评论数 0

ios Rn0.44 Xcode9 ScrollView下拉距离过短或下拉刷新后 不能自动回弹、复位置顶

早期做RN的时候是基于0.44版本的,后面做需求迭代版本时候因人手不够也没去主动升级,一直拖到近期才升级到0.55+,且还未完成兼容测试。但目前因为有个小需求需要捉急上线,于是就还在老分支上开发,然后打包上线(用的Xcode 8.3)。 接着坑来了,从 2018 年 7 月开始,所有新的 iOS...

2018-08-23 02:26:06

阅读数 386

评论数 0

h5 ios中软键盘弹起后 fixed定位失效

position: fixed;在ios手机中会存在一个失效情况: 如果页面有输入框存在,点击输入框软键盘弹起后会发现原先fixed定位在顶部的View不见了,ran’h

2018-08-21 15:20:17

阅读数 1970

评论数 0

h5 移动端 监听软键盘弹起、收起

前面一篇博客 h5 安卓 键盘弹起界面适配 修改webview高度提到了在Adnroid中如何监听软键盘的弹起与收起,是利用的窗口的高度发生变化 window.onresize事件来做突破点的,但是ios中软键盘的弹起收起并不触发window.onresize事件。 总结: 1.在ios中软...

2018-08-21 13:18:32

阅读数 10081

评论数 5

React-Native Navigator 过渡动画卡顿的解决方案

在Rn0.44版本之前,路由导航跳转几乎是使用的是Navigator组件,在0.44版本以后就不推荐使用了,官方推荐的是react-navigation,当然还是可以在废弃的库中找到: import { Navigator } from 'react-native-deprecated-cust...

2018-08-14 16:50:08

阅读数 1143

评论数 0

RecyclerView 通用Adapter添加头部、尾部 参考ListView的源码实现(一)

首先我们看下以前的ListView是如何实现addHeaderView、addFooterView 1.先看ListView.setAdapter(ListAdapter adapter) 方法 2.再看addHeaderView、addFooterView方法 以上2个方法中都用到...

2018-08-12 12:21:12

阅读数 906

评论数 0

参数名按ASCII码大小排序 冒泡算法实现

上一篇博客签名算法 待签名参数按照字段名的ASCII码大小排序 Android、JS中实现中提到的排序方法实现都是利用系统的api,在这里想用一下底层算法来实现: 1.先看系统api实现 String[] data = new String[]{"key&qu...

2018-08-12 00:30:32

阅读数 788

评论数 0

签名算法 待签名参数按照字段名的ASCII码大小排序 Android、JS中实现

验签是作为一个api接口避免裸奔的必要手段之一,原理就是前后端约定一套签名规则,首先前端在请求api接口时会增加一个sign参数,其值来源是对所提交的参数按照约定的签名规则去生成;接着后端同样会针对其接收到的参数(除sign外)按照约定的签名规则也生成一个sign,然后对2者进行比较,如果不一致则...

2018-08-11 22:27:11

阅读数 1387

评论数 0

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