- 博客(35)
- 资源 (1)
- 问答 (7)
- 收藏
- 关注
原创 AndResGuard 源码解析
整个资源混淆流程如下解压APK,混淆res目录为r第一次解析resources.arsc,保存原来的资源信息,为mapping文件做准备第二次解析resources.arsc,生成混淆信息重新生成resources.arsc重新打包成APK**从以上流程可知,如果需要对键常量池进行裁剪,可以尝试在第4步进行操作。
2023-05-23 11:35:04
872
原创 Compose 二三事:绘制原理
我们通过adb命令分析布局层级,验证我们的猜想结果如下可以看到最上层是AndroidComposeView,这个类也是ViewGroup。但是除此之外,并没有看到我们在布局中添加的Text从setContent分析,我们添加的compose函数最终通过ComposeView的setContent设置到ComposeView里面,那么分析ComposeView的setContent方法。
2023-05-23 11:29:55
1033
原创 Compose二三事:初步认识
Compose是未来Android的趋势,这是肯定的。但是他跟kotlin一样,不是一种“必须使用”的方案,他会逐步的替代XML,成为主流的开发方式。
2023-05-23 11:20:26
977
1
原创 Android AOP二三事:使用AspectJ增加登录校验
AspectJ是一种严格意义上的AOP插件,因为它提供了完整的面向切面编程的注解,让使用者可以在不关心字节码原理的基础上完成代码的织入。
2022-07-05 23:16:22
541
原创 Android AOP二三事:使用APT仿写ButterKnife
APT,Annotation Processing Tool,注解处理器,是一种处理注解的工具,他在编译时扫描和处理注解,生成.java文件
2022-06-30 23:38:05
538
原创 Android AOP二三事:Android打包流程
AOP,Aspect Oriented Programming,面向切面编程。主要是对业务某个切面的处理,减小业务的耦合,不侵入代码的一种解决方案。主要的场景是日志,拦截器等
2022-06-28 23:03:59
708
原创 Java 虚拟机二三事:Java内存区域
Java的运行时数据区域分为堆、栈、方法区、程序计数器。其中栈又分为虚拟机栈和本地方法栈。线程共享的区域为方法区和堆,线程私有的区域为程序计数器、方法区。
2022-06-26 14:38:27
280
原创 Java虚拟机二三事:虚拟机类加载机制
虚拟机把Class文件加载到内存,经过校验、解析和初始化,最终转换成虚拟机可以使用的Java类型,这就是Java的虚拟机类加载机制。
2022-06-24 00:09:49
441
1
原创 Android 跨平台技术对比
从HybridApp到RN,再到Flutter,跨平台技术的发展十分火热,在平时的业务开发中,跨平台也往往由于其动态性,开发速度,节省人力而占据越来越大的比重
2022-03-30 23:22:18
3086
原创 Android Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
在往手机上安装应用时,检查到报错Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE这是提示手机内存不足,清理手机空间就可以了
2019-07-13 15:13:45
236
原创 Android:method breakpoints may dramatically show down debugging
升级到Android Studio 3.4 后,debug突然变慢了,我还以为3.4新版本的bug,抱怨了半天,发现了AS的提示method breakpoints may dramatically show down debugging这是在debug下弹出的黄底提示,根据提示,Ctrl + Shift + F8 查看断点发现红圈处加了多余的断点,导致卡住了。去掉以后就好了。...
2019-04-28 20:30:23
314
原创 【设计模式】面向对象六大原则
主要内容关于面向对象六大原则单一职责原则(Single Responsibility Principle)缩写为SRP。对于一个类而言,应该仅有一个引起它变化的原因。或者说一个类中应该是一组相关性很高的函数、数据的封装。大意就是一个类应该只做一件事情,这就是职责,它的关键是划分职责。比如说一个图片加载类,有图片加载,有图片缓存,那么我们需要的就是把两个功能分成两个类进行处理,这...
2018-07-13 16:04:45
262
原创 Android:线程池概念解析
主要内容为什么要使用线程池线程池的优点线程池源码剖析为什么要使用线程池在 Android 中,我们使用子线程来处理异步任务。但是线程不可能无限制的产生,线程的创建和销毁会都会有相应的开销,如果在一段时间内频繁的创建和销毁线程,就会导致频繁的 GC,这样就会使程序的效率降低。同时,线程之间由于没有统一的管理,就会争抢资源,容易造成卡顿,甚至应用崩溃。这时候如果我们采用线程...
2018-06-28 18:46:58
727
原创 Android:Handler 二三事(三)消息处理机制
主要内容Handler 的消息处理机制。 主要是关于 MessageQueue、Message、Looper、Handler 之间的关系。Android 消息驱动机制的四要素接收消息的消息队列–>MessageQueue 阻塞式的从消息队列中接受消息并进行处理的线程–>Thead+Lo
2018-06-25 15:33:36
283
原创 Android:Handler 二三事(二)由内存泄漏所想到的(垃圾回收机制)
主要内容解决Handler内存泄漏以及延伸(垃圾回收、引用等)解决Handler内存泄漏及延伸为什么Handler会引起内存泄漏?这是一段使用Handler的代码public class LeakHandlerActivity extends AppCompatActivity { private Handler myHandler = new Handler() { @...
2018-06-21 18:48:50
1134
原创 Android:Handler二三事(一)简介
主要内容为什么要使用Handler什么是Handler如何使用Handler为什么要使用Handler子线程不允许访问UI,UI操作必须在UI线程,也就是主线程中执行。Android UI是线程不安全的,要想在子线程中更新UI,必须通过线程间通信,可以使用Handler,AsyncTask,runonUiThread等来实现。什么是Handler引用https://www.jianshu.com/...
2018-06-20 17:44:19
325
原创 Android:读取Word文档
问题详情目前了解到的读取Word文档的有三种形式: 1、直接调用第三方应用,如WPS 2、使用tm-extractors-0.4.jar 3、使用poi解决思路使用第三方应用这种查看内容效果时最好的,这个需要提示用户下载第三方,你可以写连接到应用市场的代码,也可以直接提示让用户自己下载 下载完成之后使用下面代码调用可以读取doc或docx文件的程序Intent intent = getWor
2017-05-25 17:43:20
12307
4
原创 occurred evaluating project :app
问题详情当我使用vlc的一个demo(vlc-android-demo-master)进行测试的时候,出现了下面的错误Error:(16, 1) A problem occurred evaluating project ':app'.Could not find method runProguard() for arguments [false] on BuildType_Decorated{n
2017-05-25 15:23:59
5683
原创 android:通过clean和rebuild可以解决的错误
错误1Error:Execution failed for task ':app:buildInfoDebugLoader'.Source H:\xx\xx\xx\xx\app\build\intermediates\builds\debug\9000268691570\classes.dexanddestination H:\xx\xx\xx\xx\app\build\intermediat
2017-05-25 15:09:49
2149
原创 Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy set
问题详情具体怎么产生的记不清了,使用下面的代码可以解决。解决方案在gradle.properties文件中添加相关代理systemProp.http.proxyHost=some.proxy.adress.comsystemProp.http.proxyPort=3128systemProp.https.proxyHost=some.proxy.adress.comsystemProp.htt
2017-05-19 14:20:27
1835
原创 java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.
问题详情关于发送广播扫描SD卡,根据系统版本(4.4)的不同代码也有所不同。解决方案4.4以前的系统可以这样发送这个广播mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" +Environment.getExternalStorageDirectory())));4.4以后的系统用这个广播
2017-05-19 14:17:35
1905
原创 关于Genymotion使用二三事
问题详情在使用Genymotion的时候(这里跳过了下载和安装,这个过程你需要一个VPN,并且高级功能需要收费),遇到了一些无法检测或无法使用等等问题,在这里将这些问题集中汇总下来.一、Eclipse检测不到Genymotion解决方法:关闭Eclipse和Genymotion,打开genymotion,setting–>adb,设置为Eclipse的sdk,就像这样然后在X:xx\eclipse_
2017-04-12 14:18:22
2478
原创 Android多级列表二三事
需求提到多级列表,就不得不说起Hongyang大神,受益良多。 (http://blog.youkuaiyun.com/lmj623565791/article/details/40212367)使用这个多级列表进行测试时,发现一个数据上的问题,pid(父id)和id重复,就像这样 继续使用显然不行,因为id重复之后,pid下数据会跟随同样id继续重复一遍。如果只是对id单纯的做增减处理也不行,因为数据是动
2017-03-23 09:15:58
869
原创 java.lang.UnsatisfiedLinkError解决思路
java.lang.UnsatisfiedLinkError 解决思路问题详情在项目中导入 vlc 的. aar 文件时,出现了下面的错误(如何导入. aar 包不再赘述)java.lang.UnsatisfiedLinkError: Couldn't load SystemTransform from loader dalvik.system.PathClassLoader[DexPathLis
2017-03-04 16:05:22
1676
原创 使用ShareSDK分享图片(只分享图片)
在使用ShareSDK的时候,遇到的有一个问题是要在QQ上分享图片,但是有个问题是无法分享图片,只能分享个网址,点击打开是个网址,这就很尴尬了。终于在Mob客服Water?那找到了解决方法其他步骤按照官网上的步骤来更改showShare的代码我分享的是本地图片,需要注意的是,只有在安装了QQ客户端的情况下,才可以分享图片,网页分享不行private void showS
2017-01-12 10:10:01
16152
原创 侧滑菜单(三):DrawLayout
实现效果实现代码1.新建项目2.activity_main.xml<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layo
2016-12-07 10:24:21
374
原创 侧滑菜单(二):SlidingMenu
实现效果实现代码1.新建项目2.导入SlidingMenu库和v4包3.代码MainActivity public class MainActivity extends SlidingFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { s
2016-12-06 17:10:58
583
原创 侧滑菜单(一):带缩放动画
实现效果实现代码新建项目A新建自定义控件Draglayout继承FrameLayout/*** Created by Administrator on 2016/9/30.* 创建自定义控件*/public class Draglayout extends FrameLayout { public Draglayout(Context context)
2016-12-06 13:31:44
446
Android 硬解码 不生成文件 编码后直接解码(Mediacodec)
2018-08-07
Android RecycleView添加header后自动下滑,跳过header
2018-01-17
andorid 使用surfaceview播放流媒体怎么解决同时播放多个视频卡顿的问题
2017-03-27
andorid 使用for循环添加数据失败
2017-03-22
Android git使用错误似乎是缺少文件吗
2017-02-28
Android vlc无法播放特定视频
2017-02-28
【急】Andorid OSM显示不出地图
2017-01-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人