Android
文章平均质量分 74
AB小站
微信公众号搜索关注: AB小站 ,更多技术文章敬请关注,公众号后台留言我会一一作答。
展开
-
IDA7.2 Pro 逆向工具
更新说明https://www.hex-rays.com/products/ida/7.2/index.shtml破解文章作者阐述了一下对IDA安装密码的攻击方法,通过枚举多种语言默认的随机数发生器,发现了IDA生成随机数的语言和版本,继而可以利用同样的方法在10min左右可以暴力算出有效的安装密码https://devco.re/blog/2019/06/21/operation-crack-hacking-IDA-Pro-installer-PRNG-from-an-unusual.原创 2020-07-10 14:33:19 · 791 阅读 · 0 评论 -
巧力避免ViewPager的预加载数据,Tablayout+Fragment+viewPager
转载:http://blog.csdn.net/pyfysf/article/details/68952348 问题描述最近在进行一个项目的开发,其中使用到了Tablayout+Fragment+viewPager来搭建一个基本的框架,从而出现了设置数据适配器的时候,item的位置错乱问题。我打印log日志的时候发现原来是,设置了两次数据数据适配器,考虑到ViewPager的预加载数据原创 2017-06-08 16:32:03 · 2861 阅读 · 0 评论 -
Android6.0及以上版本申请权限讲解
我们先来了解一个概念在运行时请求权限从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”屏幕调用权限。原创 2017-06-03 20:43:54 · 1389 阅读 · 0 评论 -
阿里百川HotFix2.0热修复初体验
一、什么是热修复热修复说白了就是”打补丁”,比如你们公司上线一个app,用户反应有重大bug,需要紧急修复。如果按照通常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布。这样带来的问题就是成本高,效率低。于是,热修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代码。这样就省事多了,用 户体验也好。(如下图所示:Android 插件化技原创 2017-06-07 22:36:35 · 2174 阅读 · 1 评论 -
launchMode使用详解
launchMode使用详解标签: android高性能启动模式launchMode2015-10-31 11:50 2777人阅读 评论(7)收藏举报本文章已收录于:分类: 管中窥豹(220) 作者同类文章X玩转android(153) 作者同类文章X转载 2017-06-06 10:09:38 · 539 阅读 · 0 评论 -
Android内存管理优化技巧
1.使用service的风险当应用程序使用service执行后台操作时,一定要保证只用执行操作时才让service运行,操作完成时,service应当停止运行,为防止内存泄露,谷歌官方推荐使用IntentService。2.当界面不可见的时候,释放内存到用户打开另一个app时,上一个app已经处于不可见状态,我们应到把与界面有关的资源进行释放,只需要在Activity中,重写onT原创 2017-06-05 20:05:46 · 468 阅读 · 0 评论 -
安卓Socket通讯简单示例
安卓Socket通信详解1>Socket是什么: 也叫做“套接字”用于描述IP地址和端口,在网络上的主机一般运行多个软件,提供多种服务,每种服务都会打开一个Socket,并绑定到一个端口上,不同端口对应不同服务 网络上的两个程序通过双向的通讯连接实现数据交换,,这个双向链路的一端称为一个Socket,Socket通常用于实现客户端和服务端的连接,Socket是TCP原创 2017-05-31 15:40:32 · 2935 阅读 · 1 评论 -
Bitmap加载大图优化之位图重采样与Bitmap缓存Lru算法分析
为什么要优化Bitmap 安卓加载图片一般会用到ImageView控件,然后用setImageBitmap()、setImageResource()等方法指定要显示的图片,这些方法最终都会调用到BitmapFactory.decode()方法来生成一个Bitmap进行显示,这样加载一些小图片没什么问题,但连续加载大图片的时候就会发生典型的OOM(Out Of Memory)问题,也就原创 2017-06-04 15:40:21 · 843 阅读 · 0 评论 -
安卓RecyclerView万能适配器之baserecyclerviewadapterhelper详解
1.BaseRecyclerViewAdapterHelper介绍BaseRecyclerViewAdapterHelper是Github上为实现方便使用RecyclerView而开发的一个框架,使用较为简单方便,能实现RecyclerView的下拉加载,Item点击事件,Item子控件的点击事件,Item加载动画等等2.使用详解先放出源码1>item.xml<Linea原创 2017-05-29 00:32:44 · 10302 阅读 · 4 评论 -
安卓之Service详解(三)【安卓IPC之AIDL】
Android BoundService 详解1.一般实现步骤讲解在客户端(Activity中)要完成:1.客户端通过BindService()方法来绑定一个服务对象(业务对象) 如绑定成功会回调ServiceConnection接口方法onServiceConnected()2.OnServiceConnection()方法的其中一个参数是在Service中OnBind(原创 2017-05-30 20:39:21 · 605 阅读 · 0 评论 -
安卓Service详解(二)
Android中Services之异步IntentService1.IntentService:异步处理服务 1.内部有一个工作线程来完成耗时操作,只需要实现onHandleIntent()方法即可 2.IntentService完成工作后会自动停止服务,同时执行多个任务会以工作队列形式,依次执行 3.不需要主动调用stopSelft()来结束服务。因为,在所有原创 2017-05-30 18:17:48 · 448 阅读 · 0 评论 -
安卓之Service详解(一)
本篇主要讲述StartedService1.使用方法1>Service的生命周期通过上图可以发现,Service的生命周期及具体方法比Activity少很多,Service的主要核心逻辑都是写在onStartCommand()方法中,2>通过下面Demo我们来一起学习Service上图可以看到我用startService方法开启了原创 2017-05-30 17:35:04 · 955 阅读 · 0 评论 -
安卓EventBus3.0使用讲解(一)
什么是EventBus EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。基本用法 很多文章会讲到Subscri原创 2017-05-29 21:07:50 · 607 阅读 · 0 评论 -
安卓AppBarLayout和Toolbar和CollapsingToolbarLayout详解及设置图片透明状态栏
1.Toolbar1>Toobar主要是用来替换ActionBar的,可以隐藏ToolBar,在style.xml的AppTheme中加入item name="windowActionBar">falseitem>item name="windowNoTitle">trueitem>2>ToolBar的布局文件 android.support.v7.widget.To原创 2017-05-18 09:27:16 · 2766 阅读 · 0 评论 -
int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a null.....
今天在做一个即时通讯回话列表时,遇到int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a null..空指针问题,费劲心思才找到报空指针的原因:代码是这样的,有多种布局类型@Override public int getItemViewType(int positi原创 2017-04-03 13:49:31 · 4669 阅读 · 3 评论 -
AndroidStudio导入工程出现Gradle version 2.2 is required. Current version is 3.3. Please fix 结局方案
升级gradle3.3后,导入低版本gradle编译的项目总是会联网去下低版本gradle,然后又没法下载,这时就要手动修改版本号了首先:修改项目gradle文件夹下的gradle-wrapp.propertise配置文件,改成与你的gradle相对应的版本然后去项目的根目录下修改 build.gradle文件,将com.android.tools.build:原创 2017-03-23 14:22:15 · 10402 阅读 · 2 评论