自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 SharedPreferences 总结分析

一、使用问题存储过大key/value;(加载耗时、解析时会创建过多临时变量导致频繁GC、加载之后会一直在内存中)存储json或者html;(转义)多次调用 sp.edit() 或者 edit.commit()、edit.apply();主线程commit();跨进程使用;单个sp文件存储;频繁读写与不常用的放一起;二、源码分析edit()// SharedPreferencesImpl.java@Overridepublic Editor edit() { sync

2020-09-27 20:05:27 228

原创 SharedPreferences所引发的性能问题

我们在使用SharedPreferences时,往往遵循Google的建议,使用apply();SharedPreferences.Editor sharedata = getSharedPreferences("data", 0).edit();sharedata.putString("item","hello getSharedPreferences");sharedata.apply();那么问题来了,这到底会不会有性能问题呢??????答案是:8.0以下会,而且完全是源码太简单导致的w

2020-07-27 18:46:31 1635

原创 关于 SharedPreferences 的一些思考

对于 SharedPreferences ,想必不会陌生,通常我们会这么用Editor sharedata = getSharedPreferences("data", 0).edit();sharedata.putString("item","hello getSharedPreferences");sharedata.commit();SharedPreferences 的百度定义如下:SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,

2020-07-11 08:35:23 491 2

原创 Handler机制的逐级深入

首先,我们来探讨一个问题:对于一个系统来讲,最重要的是什么?相信不同的人会有不同的理解,在我看来,最重要的是数据。一整个系统的运行,如果缺少的数据的支持,那么也就失去了作为系统的意义。而谈到数据,必不可少的就是数据的通信。在Android中,谈到数据的通信,必不可少的就是线程间通信、进程间通信。线程间通信方式有内存共享、管道等,其中最具代表性的便是handler。Handler机制是And...

2019-06-24 16:40:43 342

原创 android反射(reflect)笔记(一)

反射(提供封装程序集、模块和类型的对象),一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。     指程序可以访问、检测和修改它本身状态或行为的一种能力。     程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段

2017-05-02 15:10:31 464

原创 自定义Gradle task

自定义 task(复制文件)task copyFile(type: Copy, description: 'assemble') { from('***\\**\\text.txt') into('***\\app\\src\\main\\assets') include('**/*')}设置运行//打包运行app时会自动调用 tasks.withType(Java

2017-05-02 09:36:31 251

原创 Android gradle 配置strings.xml资源

需求    在开发中,往往会遇到同一个工程需要打出不同包的情况,此时可以选择进行渠道打包,但在某些情况下,如需要打包出的apk名称不同,或其中某处显示文字不同,此时,使用渠道配置显得繁琐,如何简单明了的配置不同的字符串资源,下面介绍解决此问题的一种方式分析    在开发android项目中,以eclipse与android studio为多,官方推荐使用studio,而studio最大的特点便是有g

2017-04-13 16:37:39 5310

原创 总结Error while launching activity

在使用studio 2.3.0版本的时候,出现了一个非常奇葩的问题。运行正常,使用Build APK与Generate Signed APK…都没问题,能打包,并且能安装,运行也正常,当直接run ‘app’在真机调试的时候出现了Error while launching activity。 大致意思是找不到这个activity查这个问题的时候,很多遇到这种情况的只需要clean或者rebuild

2017-03-27 16:24:55 11011 3

原创 Glide 图片加载 java.lang.IllegalArgumentException

加载方式Glide.with(context).load(imageUrl).centerCrop().placeholder(R.drawable.thumbnail_null).crossFade().into(mImageView);错误信息java.lang.IllegalArgumentException: You must not call setTag() on a view Gli

2017-03-21 16:48:57 4064

原创 Android Studio 渠道打包 小试

由于androd的开源性,其平台多种多样,比如 应用宝、豌豆荚、360、小米商店、华为商店、vivo商店、oppo商店…等等,相比于ios,呈现出了一种多平台方式,而这个多平台导致了对于app的要求不同,若需求为使用某一平台的登录用户,如使用小米平台的小米账户或华为平台的华为账户等(往往附带使用了这个平台的支付等功能),那么,就必须为这个平台特意生成一个apk,而这个配置对于其他平台来说又是多余的,

2017-03-20 23:11:56 593

原创 ListView 相关属性设置

在使用ListView时,会有使用到其特定的属性设置,如下(持续更新中…):1. 设置适配器setAdapter(ListAdapter adapter)    设置适配器,此方法使用频繁,不作赘述2. 设置分割线setDivider(Drawable divider)//分割线setDividerHeight(int height)//分割线高度    设置分割线,当不需要使用其自带分割线时

2017-03-13 14:42:28 465

原创 android 时间控件 设置不可点击编辑

DatePicker、TimePicker、NumberPicker时间控件在使用时,会遇到点击控件中数字弹出键盘编辑,点击键盘输入完毕(有回车符的点击回车符)生效,否则无效,去除此点击事件方法为setDescendantFocusability(参数);其中参数设置为相应控件的FOCUS_BLOCK_DESCENDANTS值(此值定义在viewgroup中)

2017-03-09 18:28:18 2310

原创 ListView addHeaderView 与 setOnItemClickListener 中的坑

ListView 在设置头部的时候,其中headView属于setOnItemClickListener 中的第0个item,而数据的第0项其实显示于ListView的第1个item,因此注意itemclick的源数据获取,避免出现数组越界异常等

2017-03-09 12:58:30 558

原创 突发性 java.lang.NoClassDefFoundError

开发中所遇问题 NoClassDefFoundError , 以此作为此问题的一种解决方案

2017-03-09 10:58:16 496

RXJava中文帮助文档

ReactiveX和RxJava文档中文翻译 在线地址https://mcxiaoke.gitbooks.io/rxdocs/content/

2017-04-26

空空如也

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

TA关注的人

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