自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android ADB 内存命令

1.查看手机里安装apk 各种信息adb shell pm list packages内存命令查看某个应用内存情况adb shell dumpsys meminfo (1) Native/Dalvik 的 Heap 信息 具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。(2) Total 的 PSS 信息 这

2018-04-19 19:12:13 1123

原创 js数组当中splice,push,conct语法

js当中一些语法splice语法 splice(index,len,item) //index代表索引 len 长度 item 所要替换的item var arr=[1,2,3,4] arr.splice(1,2) //代表删除从索引为1开始删除长度为2的数组 结果输出 arr=[1,4] arr.splice(1,0,5) //代表替换索引为1,长度为0,则代

2018-04-13 11:09:26 556

原创 JS 当中的几种数据类型

JS 当中的几种数据类型String、 Number、 Boolean、 Object、 Array、 Null、UndefinedStringvar i = ‘12’Number其没有int,double,float之分,数字的话全是用Number来代替 var i = 1; var i = 1.1;Booleanvar isShow = true/false;Objectvar params

2018-04-13 08:52:20 242

原创 Css Padding属性

Css Padding属性padding:10px 2px 5px 20px 其中属性分别代表 10px : 上2px : 右5px : 下20px : 左如果padding是这样写 padding:10px 2px 5px 则代表10px : 上2px : 右与左如果padding是这样写 padding:10px 2px 则代表10px : 上与下2px : 右与左

2018-04-13 08:51:45 1021

原创 Android学习小程序--不定期更新

Android学习小程序 我司最近需要将目前所做产品–小宝招商改为小程序,作为以前对Web开发一知半解的我,从头开始编写小程序。小程序整体框架文档内容可以参考:微信小程序官方 flex布局介绍 按照这几天的学习,我将小程序的编码分为3个阶段 画UI(wxml,wxss)连数据(wxjs)修数据(整合UI和JS)画UI在我看来画好UI就是要学会flex布局。所以我接下来会重点学习这

2018-04-13 08:51:20 279

原创 Switch在JS中的语法

Switch在JS中的语法switch在js中的用法和java中并没有什么区别,但是一些细节需要注意;switch(n){ case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 与 case 1 和 case 2 不同时执行的代码}在小

2018-04-13 08:50:39 5117

原创 let var const的区别

let var const的区别const:是修饰全局变量,且不可修改(基本数据类型变量),必须给定初始值,类似java当中的final;let:是用于块区域当中,通常是在函数内部使用,作用域也是在函数范围内,防止全局污染var:用在函数外面则是全局变量,用在函数内部则是局部变量

2018-04-13 08:44:23 767

原创 RecyclerView 嵌套RecyclerView 或者 ScrollView当中嵌套RecyclerView ,子View会自动滚动到顶部

问题如图 此问题一开始我以为是我在fragment当中,返回和移动的时候调用了adpater的notifyItemChange方法情况和notifyItemChanged(int position) 引起的返回时RecyclerView页面不自然的跳动 一样,但是发现我并没有调用过此方法,所以我想是不是有可能是子 recyclerView 抢了焦点导致子 RecyclerView自动滚动到了第一行

2017-07-13 10:34:40 6639 6

原创 notifyItemChanged(int position) 引起的返回时RecyclerView页面不自然的跳动

问题如图显示 产生从详情返回至列表页时,下方的Item有个向上的动画。我在返回的同时有发一个eventBus,其中我调用了notifyItemChanged(int position)方法,我首先想到的是添加mRecyclerView.getItemAnimator().setChangeDuration(0);此方法(因为以前发生过页面闪的动画),但是很不幸的是加了此代码之后还是会有此问题。

2017-07-13 10:33:09 5878

原创 RxAndroid学习之旅

RXAndroid学习之旅-1Android实际应用RxJava在Android中的具体应用就是用于异步加载数据,通过其独有的链式加载可以达到分部加载数据的作用。 Observable<List<String>> obserable = Observable.fromCallbale(new Callable<List<String>>() {

2017-03-06 23:23:32 226

原创 Upgrade文档

升级SDK(UpgradeSDK)简介 将系统常用的升级功能独立抽取出来作为一个SDK,此SDK提供强制更新和普通后台更新两种;JCenter地址 compile 'com.yqshi.sdk.upgrade:AndroidUpdate:1.0.3'权限要求 &lt;uses-permission android:name="android.permis...

2016-08-19 16:55:20 528

原创 APK怎么从18M减小到9M

APK怎么从18M减小到9M背景 一开始由于业务的增加,导致APK的体积也与日俱增,已经增加到了18M,这对整个产品的推广的成本会受到影响,所以需要通过一系列的优化将APK降下来,经过了几个方面的优化之后,成功的使得apk降低了9-10M之多;Lint审查–减少300-600KAndroid Studio —>Analyze —>Inspect Code通过lint检查可以筛选出没有用到的资源

2016-08-19 14:19:52 1681

原创 Android Lint 优化

Android Lint 优化 Android Lint 是ADT16出来的新的检测代码当中潜在的Bug和无用的代码;一般能够查找到项目当中: 1)布局性能(以前是 layoutopt工具,可以解决无用布局、嵌套太多、布局太多) 2)未使用到资源 3)不一致的数组大小 4)国际化问题(硬编码) 5)图标的问题(重复的图标,错误的大小) 6)可用性问题(如不指定

2016-08-19 14:10:58 370

原创 Android MVP实战

Android MVP实战 时间 内容 作者 2016.7.26 MVPAndroid实战1.0 yqshi 大家都知道以前Android当中的框架模式当中已经有了mvc(Model View Control),那为什么还要引用MVP(Model View Presenter);众所周知mvc是根据View的变化,会导致Control和Model都要做出相应的改变;这种设计在

2016-07-26 18:52:35 422

原创 View.inflate 和 inflater.inflate 区别

1.LayoutInflater.from(RecylerActivity.this).inflate(R.layout.my_text_view,viewGroup,false);2.View.inflate(RecylerActivity.this, R.layout.my_text_view, null);这两种 inflate 的方法有什么区别呢;首

2015-12-16 13:51:41 2910

原创 Android Studio下构建NDK

在Android Studio 1.0+以上的版本已经支持NDK开发,同时要求NDK版本为 r9d+,在 Android Studio 开发NDK当中,你已经不用在意.mk文件的配置了,其会自动帮你生成!1.通过.build文件来控制生成.so文件名字,以及各个环境下的so同时添加 NDK home2.在src/main 目录下新建 jni 目录

2015-05-15 18:46:48 365

原创 Proguard 在Android使用

1.proguard简介proguard 是一种为Java编译好的class文件进行混淆处理以防止其被反编译。在Android 2.3以前,混淆Android代码只能手动添加proguard来实现代码混淆,非常不方便。而2.3以后,Google已经将这个工具加入到了SDK的工具集里。具体路径:SDK\tools\proguard。当创建一个新的Android工程时,在工程目录的根路

2015-05-15 09:45:51 655

原创 Activity Fragment 生命周期

1. 生命周期图1.1 Activity 生命周期图1.2 Fragment 生命周期图1.3 二者之间联系对应2.生命周期描述当Activity嵌套了fragment时,二者的生命周期如下当应用处于不可见状态返回应用退出程序

2015-05-08 10:47:52 343

原创 gradle 构建不同渠道 APK 包

在写这篇文章之前必须要对我们万恶的墙吐槽一下,同样的关键字,在百度和google就是完全两个不同的结果。背景            在目前开发一个app当中,应用一般都会分为内测版、正式版。二者可能会有不同的配置,例如,Constants、packageName、xml等;                如果你是第一次使用gradle 构建android项目建议你先使用gr

2015-04-27 11:58:19 1132

转载 Maven 问题总结

序在高效建立健壮的Android应用-Maven Android 开发文中提到,Maven in Android 听起来很牛逼,你是不是很想马上弄个HelloWorld,但是你可能要懊恼了,因为你马上回碰到Project build error: Unknown packaging: apk的错误,然后就停在这里了,我之前也是因为碰到这个问题就停了,然后就想骂人,特别是那个引诱你尝试的

2015-03-18 15:32:26 463

原创 Windows下安装 android maven插件教程

1. 首先需要安装好android 环境 ,不会安装的详情参考 http://rgladwell.github.io/m2e-android/index.html 2. 安装m2e插件   建议直接在EclipseMarket上搜索 android  m2e   上图第一个就行。 在此建议用vpn 去下载(国内被墙了),免费VPN注册地址 https://www

2015-03-18 10:02:46 627

转载 IntentFilter

当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。    顾名思义,IntentFilter对象负责过滤掉组件无法响应和处理的Intent,只将自己关心的Intent接收进来进行处理。 IntentFilter实行“白名单”管理,即只列出组件乐意接受的Intent,但IntentFilter只会过滤隐式

2014-07-31 14:39:34 291

小程序--自动开锁源码

利用小程序可以直接打开门的开锁小程序,里面有一套完整的加密算法

2018-07-23

kotlin-mvp Demo

一个kotlin语音编写mvp demo,用于熟悉kotlin 的mvp相关代码;并且使用了Android最新的SDK相关内容

2018-06-28

空空如也

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

TA关注的人

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