- 博客(28)
- 收藏
- 关注
转载 为什么不取消注册BroadcastReceiver会导致内存泄漏
https://www.cnblogs.com/baiqiantao/p/7423797.html记录下,这篇文章些的不错
2018-07-07 16:55:12
1263
1
原创 ArrayList、HashMap等初始空间大小
ArrayList默认的构造空间为10,源码如下 /** * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10;
2017-11-24 14:27:41
4302
原创 HashMap/ArrayMap/SparseArray讲解
http://www.jianshu.com/p/7b9a1b386265 这篇文章写的就不错,看会了就可以了这里说明一个这三种的数据结构Hash Map 数组+链表的形式进行存储,当add数据时根据hash code查找存储位置即可插入,插入和查询的速度是比较快的,但是默认情况下,数组大小为16,那么当Hash Map中元素个数超过16*0.75=12(这个值就是代码中的thr
2017-11-24 11:53:45
637
原创 Android组件的exported的默认值问题
如果包含有intent-filter exported默认值为true; 没有intent-filter exported默认值为false
2017-09-25 09:23:22
2705
转载 Handler机制
Handler对象与其调用者在同一线程中,如果在Handler中设置了延时操作,则调用线程也会堵塞。每个Handler对象都会绑定一个Looper对象,每个Looper对象对应一个消息队列(MessageQueue)。如果在创建Handler时不指定与其绑定的Looper对象,系统默认会将当前线程的Looper绑定到该Handler上。在主线程中,可以直接使用new Handler()创建Ha
2017-09-04 16:51:49
295
原创 Handler+Looper
关于Handler+Looper理解一句话就好每一个线程想接收消息都需要有一个Looper,处理消息需要有Handler,如果在创建Handler时不指定与其绑定的Looper对象,系统默认会将当前线程的Looper绑定到该Handler上。
2017-09-04 16:36:46
271
原创 aapt 获取app的信息
我们可以使用aapt工具获取app的包信息1、首先进入到sdk\builds-tools\下2、执行命令aapt dump badging c:/user/xxx/xxx.apk3、获取的数据(微信)package: name='com.tencent.mm' versionCode='542' versionName='6.1.0.105_r1085424'uses-
2017-07-28 16:12:22
559
原创 Android7.0使用FileProvide
对于面向 Android N 的应用,Android 框架执行的 StrictMode,API 禁止向您的应用外公开 file://URI。如果一项包含文件 URI 的 Intent 离开您的应用,应用失败,并出现 FileUriExposedException异常我们需要用到FileProvide解决该问题http://www.gimoo.net/t/1605/57256c0
2017-04-11 14:48:22
1423
原创 Android跳转到支付宝转账界面
我们可以通过集成支付宝sdk完成支付宝功能,但是不集成我们也可以调取支付宝转账界面完成付款 Intent intent = Intent.parseUri(intentFullUrl, Intent.URI_INTENT_SCHEME ); startActivity(intent);其中intentFullUrl 为 "intent:/
2017-04-07 17:58:27
17089
1
原创 轮询与长连接
轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比较容易。缺点:请求中有大半是无用,浪费带宽和服务器资源。实例:适于小型应用。长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。优点:在无消息的情况下不会频繁的请求。
2017-03-30 11:24:43
704
转载 Android获取设备唯一标识
Android获取设备唯一标识有多种方式,各有优劣http://www.cnblogs.com/lvcha/p/3721091.html
2017-03-09 19:10:39
331
原创 Timer Schedule参数说明
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。schedule的意思(时间表、进度表)timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);第一个参数"new M
2016-07-19 17:19:52
550
转载 android:configChanges="orientation|keyboardHidden"的使用
android开发在横竖屏切换时想保存切换前的状态,一般我们会在配置文件加入android:configChanges="orientation|keyboardHidden"但是,实际上很多手机上,这个根本不起作用,可以尝试android:configChanges="keyboardHidden|orientation|screenSize"
2016-07-18 11:04:33
492
原创 adb shell查看任务栈中Activity的排列
android开发所有的Activity都会以后进先出的顺序存放在任务栈中,我们可以通过adb命令查看栈中的Activity的信息1、首先验证你的adb shell是否可以进入,输入命令adb shell会进入命令模式,如果没有配置环境变量,则需要切换到sdk\platform-tools目录下2.使用 adb shell dumpsys activity 则可以查看栈中activit
2016-07-16 14:39:48
1302
原创 JsonObject的optString()和getString()的区别
之前没用过optString()方法,今天偶然遇到了解了一下optString会在没有该字段的时候返回空字符串" ",而getString则会抛出异常,主要防止在返回的数据中没有该字段时程序挂掉。
2016-07-16 13:02:08
783
原创 gridview设置第一行距顶部的距离
android:clipToPadding="false"android:paddingTop="10dp" //距离顶部的距离android:paddingBottom="10dp" //距离底部的距离
2016-07-14 13:14:31
666
转载 Context.getExternalFilesDir()和Context.getExternalCacheDir()
应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?通过Context.getExternalFilesDir()方法可以获取
2016-07-07 17:31:17
300
原创 shareSDk第三方登录授权的个人理解
第三方登录现在应用的比较多,常用的也就是shareSDK和友盟,其中主要是授权问题,现在总结一下shareSDK的授权问题,纯属个人总结1、authorize授权获取授权返回的账号的唯一信息 showuser 在authorize的showuser 基础上还会返回授权账号的个人信息 所以说两个方法都可以完成授权。 但是有较大区别,当使用authorize方法时无论你是否已经授权(或
2016-07-05 15:19:05
1997
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人