- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 MMAP之android日志框架进化之路
但你手动GC是可以回收的。mmap开辟的内存是操作系统维护的,我们的日志写入,直接开辟一块内存区域吧这个区域与一个fd绑定,fd对应磁盘的一个文件句柄。很多平台对于磁盘的读写是需要权限的,比如安卓平台,很多情况下日志的写入会先于用户的权限申请和同意。我对比了腾讯的mars-log框架,和我自己实现的phoenix-log框架以及本框架内置的java层日志解决方案的性能数据,两个线程同时执行,每个线程执行10w次日志写入操作.before 代表native内存和java堆内存的初始化状态的值, 数据如下。
2023-09-27 17:58:27
769
10
原创 恢复误删除的git stash记录 (how to retrieve a deleted git stash)
1.场景:使用git stash或者sourcetree贮藏了工作现场,然后被误删除了这个stash 2.恢复方法:a.首先使用git fsck --unreachable命令查找所有unreachable记录,记录的样子大概是这样子的:unreachable commit 3cf816eeb0dc339513c63dd041e5f4efc6241e24unreachable co
2016-08-09 16:32:33
6590
原创 uses-permission与persmission
1.uses-permission是系统定义的权限,包含在manifest节点下面。2.permission是自定义权限,同样包含在manifest节点下,定义方法如下: android:description="string resource" android:icon="drawable resource" android:lab
2016-05-19 11:32:55
661
原创 android scroller的原理分析
1.谷歌为什么要设计一个scroller?在android中所有的的View都有一个实际界面大于可视界面的,这就涉及到界面的移动或者说偏移,View这个类提供了scrollTo和ScrollBy方法来实现界面的滚动,但是这两种滚动都是即刻瞬间的,对于用户来说是不友好的,这个时候就需要一个滚动器来拉长这个滚动过程。也就是我们的Scroller,这个滚动器的构造方法需要一个durration来设置
2015-09-23 11:48:42
507
原创 ANDROID Recycleview notifyDataSetChanged()方法调用出现IllegalStateException 问题的解决
关于ANDROID Recycleview notifyDataSetChanged()方法调用出现IllegalStateException 问题的解决最近写代码使用到了recyclerview,其中界面有一个Checkbox的点击,点击之后是需要刷新界面的相关数据的逻辑的,但是在刷新的时候报了状态异常,个人分析了一下原因:提示说Cannot call this method while Rec
2015-07-17 16:43:32
15524
1
原创 android WindowManager中removeView(View v)与removeViewImmediate(View v)的区别
1.问题及原因: 我们在做UI相关的代码时有时候会碰到WindowLeak,也就是所谓的内存泄露,泄露的原因是因为androidUI操作在主线程中操作,但是我们会需要在一些线程或者异步任务中操作UI界面元素的需求,那么这个时候可能会出现类似问题。我在做浮动窗口的时候碰到了这个问题,浮动窗口需要用到WindowManager,windowManger又是一个activity的一个变量,它依存
2015-02-06 15:31:27
16435
2
原创 android 弹出式悬浮窗
1.最近做项目有一个弹出框的需求,要求是一个跟随手指滑动的view,点击就弹出一个View,再点击就收缩起来。在网上找资料,发现没有现成的,于是只有自己找思路,自己动手了。2.思路:使用WindowManager的addView方法添加一个View,设置onTouch事件(onTouch事件会有很多坑),View中设置OnClick事件,监听并再View旁边再动态添加一个我姑且叫它spring
2014-12-09 17:19:21
2889
原创 android下拉刷新上拉加载更多通用Demo
0. 前段时间做项目,有一个下拉刷新的需求,在网上找了很多Demo,都不是很满意,最主流的都是通过Listview加header和footer来实现,但需求中不涉及Listview,于是参考了很多大神的demo,自己写了一个通用的适合任何view的一个下拉刷新demo,当然这里说的任何你不要想像的太天真,主要适用于linearlayout下的任意View,也就是说你需要把Linearlayou
2014-02-28 13:14:22
1718
仿IOS页面回弹效果
2014-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人