Android进阶
文章平均质量分 74
Crcker
这个作者很懒,什么都没留下…
展开
-
关于安卓反编译的几种方式(初识)
在安卓开发过程中,当我们看到一些漂亮精致的应用时,难免就想知道是怎么做的,不过一般做得比较好的应用也不是那么容易就让你反编译出来 谷歌也加入了这方面的支持,可以让代码混淆,让别人很难看懂你的代码,从而达到保护代码的作用。不过依然有很多可以破解的方式,下面我介绍几种安卓反编译的方式,有pc端的也有手机端的用到的工具:安卓逆向助手(傻瓜式操作,适合小白,需要环境的支持)Apkdb (命令行方式)原创 2016-12-21 20:36:46 · 828 阅读 · 0 评论 -
图像处理(黑白,模糊,浮雕,圆角,镜像,底片,油画,灰白,加旧,哈哈镜,放大镜)
原图:一:圆角处理效果:代码: public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),转载 2016-12-28 11:11:27 · 1245 阅读 · 0 评论 -
2016Android某公司面试题
2016Android某公司面试题interview2016年4月某公司面试题及面试流程。静态内部类、内部类、匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它?静态内部类:使用static修饰的内部类内部类:就是在某个类的内部又定义了一个类,内部类所嵌入的类称为外部类匿名内部类:使用new生成转载 2017-03-31 13:53:21 · 398 阅读 · 0 评论 -
Android内存泄漏
内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,就是说该释放的对象没有释放,一直被某个或某些实例所持有却不再使用而导致GC无法回收,持有对象的强引用,且没有及时释放,进而造成内存单元一直被占用,浪费空间,无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内原创 2017-09-12 17:25:25 · 356 阅读 · 1 评论 -
OOM的一些处理方式
● 内存溢出(Out Of Memory) ● 也就是说内存占有量超过了VM所分配的最大出现OOM的原因加载对象过大相应资源过多,来不及释放如何解决在内存引用上做些处理,常用的有软引用、强化引用、弱引用在内存中加载图片时直接在内存中作处理,如边界压缩动态回收内存优化Dalvik虚拟机的堆内存分配自定义堆内存大小减小对象的内存占用 避免OOM的第一步就是要尽量减少新分配出来的原创 2017-09-12 17:25:51 · 849 阅读 · 0 评论 -
ANR的一些解决
在Android里, App的响应能力是由Activity Manager和Window Manager系统服务来监控的. 在主线程(UI线程)里面做了太多的阻塞耗时操作, 例如文件读写, 数据库读写, 网络查询等等.ANR一般有三种类型 1. KeyDispatchTimeout(5 seconds) –主要是类型按键或触摸事件在特定时间内无响应 2. BroadcastTimeout原创 2017-09-12 17:26:22 · 481 阅读 · 0 评论 -
性能优化
合理管理内存制的使用Service 如果应用程序需要使用Service来执行后台任务的话,只有当任务正在执行的时候才应该让Service运行起来。当启动一个Service时,系统会倾向于将这个Service所依赖的进程进行保留,系统可以在LRUcache当中缓存的进程数量也会减少,导致切换程序的时候耗费更多性能。我们可以使用IntentService,当后台任务执行结束后会自动停止,避免了Servi原创 2017-09-12 17:26:36 · 272 阅读 · 0 评论 -
垃圾回收机制
垃圾回收(garbage collection,简称GC)可以自动清空堆中不再使用的对象。在JAVA中对象是通过引用使用的。如果再没有引用指向该对象,那么该对象就无从处理或调用该对象,这样的对象称为不可到达(unreachable)。垃圾回收用于释放不可到达的对象所占据的内存。GC的工作流程主要分为如下几个步骤: 1、标记(Mark) 2、计划(Plan) 3、清理(Sweep) 4、引用更原创 2017-09-12 17:26:52 · 332 阅读 · 0 评论 -
AndroidLibrary上传至maven仓库和Jcenter教程,看这一篇就够了!
前言当我们想使用某些开源框架时:比如Glide 我们会这样做: implementation ‘com.github.bumptech.glide:glide:4.7.1’这时候Gradle会自动帮我们将Glide库加载到项目中。 那么如何将我们自己的库放到Maven中供别人下载呢,下面我将演示从library的创建到上传到maven的过程。Setp1注册bintr...原创 2018-07-06 18:30:23 · 845 阅读 · 1 评论