- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 Binder机制 自己的简单理解
1、首先所有的service都会向serviceManager注册 每个service都有自己对应的唯一标识 serviceManager 管理所有的service serviceManager维护一个svcList存储所有的service的信息2、客户端想要得到具体的service直接向serviceManager索要即可,客户端首先得到具体的service的引用,然后通过这个引用向具体的...
2018-05-16 17:39:36
341
1
原创 activity生命周期 A启动B,B返回A, A,B的全生命周期
activity生命周期方法onCreate->onStart->onResume->is Running->onPause->onStop->onDestroy启动A 会直接执行onCreate->onStart->onResume在A中启动B A 先执行onPause B 创建 onCreate->...
2018-05-16 17:26:32
600
原创 内存泄漏的情况
1、静态类对activity的引用 ,即使activity已经finish 但是因为有静态类对activity的引用 导致activity不能被回收。2、线程导致的内存泄漏 使用线程经常会使用匿名内部类,匿名内部类默认保存对外部类的引用,如果activity即使finish如果线程内部任务还没执行完毕,activity也不会被回收。3、资源未关闭导致的泄漏,类似于广播 bitmap Cursor ...
2018-05-16 17:03:20
154
原创 Fragment 与Fragment之间的通信 Fragment与Activity之间的通信
1、我们可以通过宿主Activity拿到FragmentManager,进而再通过id或者tag拿到别的Fragment的实例,然后调用相应的方法。2、实现接口 AFragment要调用BFragment的方法,在BFragment中建立接口callback 让宿主activity中实现该接口 在AFragment中的onAttach方法中 调用宿主的callback方法 在宿主a...
2018-05-16 16:52:22
1760
原创 app全面屏适配
在AndroidManifest.xml中添加<meta-data android:name="android.max_aspect" android:value="ratio_float"/>将ratio_float 改为2.1 就可以适配全面屏幕需要注意的是,如果这个值为空,并且android:resizeableAactivity为false的话,程序的默认最大宽高比只有...
2018-05-16 16:37:03
1113
原创 RecyclerView 数据刷新的方式 原理
刷新全部的item notifyDataSetChanged()刷新指定item notifyItemChanged(int)从指定位置开始刷新指定个item notifyItemRangeChanged(int,int)插入、移动一个兵自动刷新,notifyItemInserted(int)、notifyItemMoved(int)、notifyItemRemoved(int)局部刷新,noti...
2018-05-16 16:25:27
2137
原创 volley数据请求
1、volley适用于大量的频繁的 数据量小的网络请求2、同时为了提高请求处理的速度,采用ByteArrayPool进行数据缓存处理,如果下载数据过大,这个内存会溢出,OOM,当存储的时候首先会从ByteArrayPool中获取已经分配的内存进行存储,如果有分配的内存直接拿来用,从而减少内存分配的次数。...
2018-05-16 16:08:50
286
原创 同一个现成可以创建多个handler吗
同一个现成可以创建多个handler 多个handler虽然都通用一个messageQuene 但是 发送的消息 只有发送消息的handler才能响应Toast是一种特殊的弹窗 不依赖于view、activity...
2018-05-16 15:53:33
1327
原创 ConcurrentHashMap
ConcurrentHashMap 实现现成安全 使用的是分段锁 其实就是把HashMap分成各个Hashtable单元 各个单元之间异步 同一个单元同步
2018-05-16 15:22:29
168
转载 GestureDetector类及其用法
原文地址:http://blog.sina.com.cn/s/blog_77c6324101017hs8.htmlGestureDetector这个类对外提供了两个接口:OnGestureListener,OnDoubleTapListener,还有一个内部类SimpleOnGestureListener。GestureDetector.OnDoubleTapListener接口:用来通知Doubl
2017-05-16 16:58:43
409
原创 没有针对多指触控处理版本与多指触控处理版本
原文地址http://www.gcssloop.com/customview/multi-touch没有针对多指触控处理版本 /** * 一个可以拖图片动的 View */ public class DragView1 extends CustomView { String TAG = “Gcs”;Bitmap mBitmap; // 图片RectF mBit
2017-05-16 15:45:59
545
原创 多点触控 之 两个手指
/** * 绘制出第二个手指第位置 */ public class MultiTouchTest extends CustomView { String TAG = “Gcs”;// 用于判断第2个手指是否存在boolean haveSecondPoint = false;// 记录第2个手指第位置PointF point = new PointF(0, 0);public
2017-05-16 15:32:27
406
原创 NavigationView的使用
XML设置app:headerLayout="@layout/drawer_header"app:menu="@menu/drawer"NavigationView与DrawerLayout的关联效果图
2017-05-10 15:36:42
334
原创 clipdrawable的使用
clip xml设置给Imageview添加src通过timer进行定时改变clipdrawable的level属性值
2017-05-10 14:48:03
380
原创 处理listview的滑动冲突
重写 listview的重写Onmeasure @Override protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) { //给listview最大的高度 heightMeasureSpec=MeasureSpec.makeMeasureS
2017-05-08 18:31:12
208
原创 打开图库的第二种意图
Intent intent=new Intent(); intent.setType(image/*); intent.setAction(Intent.ACTION_GET_CONTETN); startActivityForresult(Intent.creatChooser(intent),”选择图片”);
2017-05-08 14:15:16
360
原创 打开相机拍照与 读取背地相册图片
String path;public void setHeader(){ //打开系统图库的隐式意图 Intent intent=new Intent(Intent.ACTION_PICK); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); //打开系统拍照
2017-05-08 14:12:25
324
jacap安装配置教程
2017-10-10
jpcap学习程序
2017-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人