- 博客(62)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android系统中的Application和四大组件一些方法的启动顺序和一些坑
一 背景 在做一个项目时,我们想在应用最早启动时,先做一些判断,然后根据判断的结果再决定要不要对其他应用提供服务。 对其他应用提供服务指的是,我们的应用中有ContentProvider,第三方应用通过call方法调用到我们提供的ContentProvider,ContentProvider执行逻辑后并给调用的返回结果。当第三方应用调用我们的应用时,我们的应用存在启动和未启动的
2017-03-26 17:55:29
8541
1
原创 AndroidStudio(IDEA)代码提示背景为白色如何去除
AndroidStudio(IDEA也一样),代码提示的背景色出现了白色,如何修改?
2022-01-27 16:48:17
3427
1
原创 Android Binder服务端被调用,一定是运行在Binder线程中吗?
不一定。如果是跨进程调用,即Binder的代理(proxy)端和Binder的服务(Server)端是不同的进程,则Binder服务端方法执行是在Binder线程中的,比如:打印线程名,Thread.currentThread().toString()为:Thread[Binder:19118_3,5,main]但如果,Binder的代理(proxy)端和Binder的服务(Server)端是在同一个进程,则Binder服务端方法执行的线程跟Binder代理...
2021-07-15 19:31:09
764
1
原创 Android一种简单的补丁修复方法--使用DexFile
在合适的时机(最好放在Application的attachBaseContext),使用DexFile方式,遍历所有的类,然后调用loadClass。 try { DexFile dexFile = new DexFile(filePath); Enumeration<String> entries = dexFile.entries(); while (entries.hasMoreElements()) {
2021-06-25 17:39:56
903
原创 关于Android的UI线程的一些问题
1.可以在不同的线程中操作View吗? 不可以。 如果在其他不同的线程中操作View,比如:调用Button.setText(""),应用会因为抛出异常而崩溃。异常一般如下: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.2.Android为什么不让在多...
2021-04-23 11:32:26
191
原创 使用SWIG,在java编程中调用动态库
1. SWIG是什么? SWIG的官方网站是http://www.swig.org/。 官方网站第一句话:SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.... ...SWIG is typically used to parse C/C++ interfaces an...
2021-02-23 10:41:56
1448
1
原创 使用DirectByteBuffer在java层和c层之间传递和交换数据
因为业务需要,需要在java层频繁调用本地层so库中的代码,并且需要将java中的数据交给so库处理,so库处理完成之后交给java层,java层再使用。 “传统”的做法是,在JNI中的java层将byte数组传递到c代码中,c代码使用GetByteArrayElements和ReleaseByteArrayElements的代码分别取数据和回写数据,这样的写法没有问题,一般情况下也是这么用的。但是,这种用的话会明显感觉到多了2次内存copy。因为也需要大量调用,所以想能不能再找到一种更快...
2021-02-03 14:29:00
2488
2
原创 Kotlin的协程 是什么?
看完扔物线讲的关于Kotlin的协程,自己做一下自我总结。Kotlin的协程是什么?它是在java线程基础上封装一种线程调用的框架,它本质上还是跑在线程上的。它是为了方便我们不用写过多的代码去关注或实现线程的切换的事情。举个例子,在Android上,子线程不能更新UI,而网络请求又不能在主线程进行。假定有一个场景,点击按钮后,从服务端把文字请求下来,并展现在TextView上,一般我们用java的时候是这么写的:{ // ... ... btn....
2021-01-08 10:59:01
583
原创 Android上的ContentObserver
在Android上,ContentObserver原本的目的是方便监听插入数据库中的数据的变化的,不过可以利用它来跨进程通信。ContentObserver的跨进程通信稍稍有点像BroadcastReceiver,不过确实不一样。跨进程的使用方法:1.先写一个类继承ContentObserver,这点跟BroadcastReceiver使用有些类似,它是继承BroadcastReceiverpublic class MyObserver extends ContentObserver ..
2021-01-06 10:53:08
848
原创 使用JavaFx+SpringBoot进行串口开发
之前维护过一个项目:使用VC编写的,通过串口(COMM口)跟 “下位机设备”进行交互,并将采集到的相关数据进行处理,并展示到界面上,同时存储到SQLServer的数据库中。 但这个项目初始的代码质量非常不高,偶尔加个需求以及调试跟踪一个bug很困难,并且我的C++水平非常有限,也不喜欢用VC开发,于是利用闲暇时间将这个项目使用java翻译一下。 总结一下,使用java翻译这个项目的功能,需要用到的工具以及技术点: 1. IntelliJ IDEA(这里用到的版本为:20...
2020-12-18 20:48:45
1924
1
原创 idea开发JavaFx,使用Scene Builder打开fxml文件报错
idea开发JavaFx,Scene Builder已经配置好了,但使用Scene Builder打开fxml文件报错:java.lang.UnsupportedClassVersionError: org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderImpl has been compiled by a more recent version of the Java Runtime (class file version 55.0), this
2020-12-12 15:31:34
1459
原创 javaFx + SpringBoot 启动时报错:No auto configuration classes found in META-INF/spring.factories 解决方法
javaFx+SpringBoot+(de.roskenet:springboot-javafx-support:2.1.6)开发。直接在idea中运行正常,但打包成jar,之后使用java -jar xxx.jar启动报错,发现日志中有:java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories.以及at de.felixroske.jfxsuppo
2020-12-12 11:12:29
4100
2
原创 如何在navigation中的fragment之间使用Android Material中的动画
如何在navigation中的fragment之间使用Android Material中的动画? AndroidMaterial的依赖是:implementation 'com.google.android.material:material:1.2.0' 先进行navigation的编写(这里不多说,假定已经完成了), 然后,在需要在跳转的地方加上:exitTransition = MaterialElevationScale(true)reenterTransi...
2020-08-29 15:58:03
699
原创 使用DBeaver连接Sqlite遇到的问题
我准备使用DBeaver(7.1.4)连接本地的Sqlite数据库,但当打开Sqlite数据库后,提示需要下载驱动。但在下载驱动的过程中又失败了,不管我怎么配置都下载失败(也有可能是我配置有问题)。于是,我把org.xerial:sqlite-jdbc:3.32.3.2这个版本对应的jar包直接从maven上下载到本地(可以去https://maven.aliyun.com/mvn/search搜索下载);然后添加文件,选择下载的org.xerial:sqlite-jdbc:3.32.3....
2020-08-15 16:38:56
8693
3
原创 如何使用jetpack中的navigation
假定场景是:程序启动 -- Activity_AActivity_A中有两个按钮,btn_A和btn_B; btn_A点击跳转到Fragment_B, 点击Fragment_B中的按钮btn_A跳转到ActivityC中 btn_B点击跳转到Activity_B中;1. 先集成依赖: 主工程的build.gradle中的buildScript中的 dependencies中加入: classpath "androidx.navigation:naviga...
2020-08-15 15:54:24
277
1
原创 总结:40动态化实践, 如何选择适合自己的方案?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:天猫的Tangram https://github.com/alibaba/Tangram-Android/blob/master/README-ch.mdJava动态追踪技术探究 https://tech.meituan.com/2019/02/28/java-dynamic-trace.html美团...
2019-06-03 15:05:40
533
原创 总结:36跨平台开发的现状与应用
自我学习极客时间《Android开发高手课》的笔记总结文中链接:SSR https://developers.google.cn/web/updates/2019/02/rendering-on-the-webFacebook的React Native https://github.com/facebook/react-native阿里的Weex htt...
2019-06-03 15:02:20
387
原创 总结:35Native Hook 技术, 天使还是魔鬼?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:《ELF 文件格式解析》 https://felixzhang00.github.io/2016/12/24/2016-12-24-ELF%E6%96%87%E4%BB%B6%E8%A3%85%E8%BD%BD%E9%93%BE%E6%8E%A5%E8%BF%87%E7%A8%8B%E5%8F%8Ahook%E5%...
2019-06-03 14:59:35
674
原创 总结:34聊聊重构: 优秀的架构都是演进而来的
自我学习极客时间《Android开发高手课》的笔记总结文中链接:Android 整体设计及背后意义 https://mp.weixin.qq.com/s/twfpUMf9CfXcgwtFFkJ4IgAndroid技术架构演进与未来 https://mp.weixin.qq.com/s/W38aauoCEEUbL8KvUkb_Rw?微信的Vending htt...
2019-06-03 14:56:27
366
原创 总结:33做一名有高度的移动开发工程师
自我学习极客时间《Android开发高手课》的笔记总结文中链接:从中台到平台(上) https://mp.weixin.qq.com/s/dpkteHsQJ4Rwl6YNl2PVeg?从中台到平台(下) https://mp.weixin.qq.com/s/TirTQfWo0gX9PUw_okdGjQ?程序员装逼被怼,决定用面试证明自己,结果...... h...
2019-06-03 14:54:28
240
原创 总结:32线上疑难问题该如何排查和跟踪?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:高性能日志模块xlog https://mp.weixin.qq.com/s/cnhuEodJGIbdodh0IxNeXQ?美团点评移动端基础日志库——Logan https://tech.meituan.com/2018/02/11/logan.html https://github.com/M...
2019-06-03 14:52:27
483
原创 总结:31数据评估(下): 什么是大数据平台?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:阿里的Sunfire https://mp.weixin.qq.com/s/rN2v9SNfyokUL3ijeWwkfg阿里云提供的OneData服务 https://dt.alibaba.com/美团点评前端无痕埋点实践 https://tech.meituan.com/2017/03/02/...
2019-06-03 14:47:00
365
原创 总结:29从每月到每天, 如何给版本发布提速?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:移动App A/B测试中的5种常见错误 https://zhuanlan.zhihu.com/p/25319221
2019-05-31 14:36:28
224
原创 总结:28大数据与AI,如何高效地测试?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:阿里的Macaca https://github.com/macacajs/macaca-androidfacebook的screenshot-tests-for-android https://github.com/facebook/screenshot-tests-for-android腾讯的WeT...
2019-05-31 14:34:57
409
原创 总结:27编译插桩的三种方法: AspectJ、ASM、ReDex
自我学习极客时间《Android开发高手课》的笔记总结文中链接:网易的HubbleData https://neyoufan.github.io/2017/07/11/android/%E7%BD%91%E6%98%93HubbleData%E4%B9%8BAndroid%E6%97%A0%E5%9F%8B%E7%82%B9%E5%AE%9E%E8%B7%B5/51信用卡的埋...
2019-05-31 14:32:35
2523
原创 总结:26关于编译,你需要了解什么?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:构建流程图 https://developer.android.com/studio/build/?hl=zh-cnFacebook的Buck https://github.com/facebook/buckGoogle的Bazel https://github.com/bazelbuild/b...
2019-05-31 14:29:48
151
原创 总结:25如何提升组织与个人的研发效能?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:如何衡量研发效能?阿里资深技术专家提出了5组指标 https://mp.weixin.qq.com/s/vfhqRxLnHJz_ii2zhXofuA提问的智慧 https://github.com/tvvocold/How-To-Ask-Questions-The-Smart-Way...
2019-05-31 14:26:13
695
原创 总结:24想成为Android高手, 你需要先搞定这三个问题
自我学习极客时间《Android开发高手课》的笔记总结文中链接:谈谈腾讯的技术价值观与技术人才修炼 https://mp.weixin.qq.com/s/Vn0eKvY5AU1DEOrxbOxABQ专栏学得苦?可能你还需要一份配套学习书单 https://time.geekbang.org/column/article/78354两位拯救谷歌的超级工程师的故事...
2019-05-31 14:23:16
201
原创 总结:23包体积优化(下): 资源优化的进阶实践
自我学习极客时间《Android开发高手课》的笔记总结文中链接:AndResGuard工具 https://github.com/shwenzhang/AndResGuardAndroid App包瘦身优化实践 https://tech.meituan.com/2017/04/07/android-shrink-overall-solution.htmlAndroi...
2019-05-31 14:21:15
271
原创 总结:22包体积优化(上): 如何减少安装包大小?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:饿了么开源的Mess可实现四大组件和View混淆 https://github.com/eleme/MessR8 https://blog.dreamtobe.cn/android_d8_r8/Facebook的so加载开源库SoLoader https://github.com/faceboo...
2019-05-31 14:18:40
879
原创 总结:20 UI 优化(上): UI 渲染的几个关键概念
自我学习极客时间《Android开发高手课》的笔记总结文中链接:Android 目前稳定高效的UI适配方案 https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650826034&idx=1&sn=5e86768d7abc1850b057941cdd003927&chksm=80b7b1a...
2019-05-30 14:48:41
433
原创 总结:19耗电优化(下): 耗电的优化方法与线上监控
自我学习极客时间《Android开发高手课》的笔记总结文中链接:Facebook耗电监控开源库Battery-Metrics https://github.com/facebookincubator/Battery-MetricsAndroid后台调度任务与省电 https://blog.dreamtobe.cn/2016/08/15/android_schedule...
2019-05-30 14:45:34
908
原创 总结:18耗电优化(上): 从电量优化的演进看耗电分析
自我学习极客时间《Android开发高手课》的笔记总结文中链接:手机硬件已进入发展瓶颈,未来电池技术将如何突破? https://mobile.pconline.com.cn/1089/10896724.htmlVOOC闪充 https://baike.baidu.com/item/VOOC%E9%97%AA%E5%85%85/13887450?fromtitle=%...
2019-05-30 14:43:13
208
原创 总结:17网络优化(下): 大数据下网络该如何监控?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:360的ArgusAPM https://github.com/Qihoo360/ArgusAPMfacebook的network-connection-class https://github.com/facebook/network-connection-class...
2019-05-30 14:41:21
262
原创 总结:16网络优化(中): 复杂多变的移动网络该如何优化?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:Square的OkHttp https://github.com/square/okhttpChromium 的Cronet https://chromium.googlesource.com/chromium/src/+/master/components/cronet/微信Mars htt...
2019-05-30 14:37:26
374
原创 总结:15网络优化(上): 移动开发工程师必备的网络优化知识
自我学习极客时间《Android开发高手课》的笔记总结文中链接:讲清楚5G,这可能是最接地气的一篇了 https://mp.weixin.qq.com/s/bPNuEbwZZS9uS5bKmHskTwLink Turbo 网络聚合加速技术 https://www.pingwest.com/a/181911网卡收包流程 https://mp.weixin.qq...
2019-05-30 10:24:06
520
原创 总结:14存储优化(下): 数据库SQLite的使用和优化
自我学习极客时间《Android开发高手课》的笔记总结文中链接:微信的WCDB https://github.com/Tencent/wcdbMatrix的SQLiteLint https://github.com/Tencent/matrix/tree/master/matrix/matrix-android/matrix-sqlite-lintCursor实现优...
2019-05-30 10:21:26
559
原创 总结:13存储优化(中): 如何优化数据存储?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:Serial https://github.com/twitter/Serial/blob/master/README-CHINESE.rst/Protocol Buffers https://developers.google.com/protocol-buffers/docs/overviewFla...
2019-05-30 10:18:48
262
原创 总结:12存储优化(上): 常见的数据存储方法有哪些?
自我学习极客时间《Android开发高手课》的笔记总结文中链接:彻底搞懂 SharedPreferences https://juejin.im/entry/597446ed6fb9a06bac5bc630微信MMKV https://github.com/Tencent/MMKV...
2019-05-30 10:15:55
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人