自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孫小逗

根本沒有正確的選擇,我們只能靠奮鬥來使當初的選擇顯得正確!

  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java并发编程-Java内存模型(JMM)

前言在上一章 Java并发编程-Android的UI框架为什么是单线程的? 中笔者介绍了并发编程线程安全「三大恶」:「可见性」、「原子性」以及「有序性」广义上来说,并发编程问题笔者归纳为:是由于后续操作看不到前面操作的结果而引发的首先「大恶-可见性」顾名思义,即线程B能否看见线程A对共享变量的操作结果其次「二恶-原子性」CPU 指令/操作被中断/分割,广义上看笔者认为也是可见性问题,比如线程 A 修改共享变量 x += 1 时被中断,去执行线程 B x = 40 ,线程 A 恢复执行时可能看不到 x

2022-05-25 18:29:20 161

原创 Kotlin-KCP的应用-修改SDK版本号

背景在 SDK 开发中,一般会暴露获取 SDK 版本号的接口,获取的版本号一般为 String 类型,比如:// sdk接口interface Sdk { fun getVersion(): String}// sdk调用方sdk.getVersion()上述方式可以通过在 gradle.properties 中配置版本号,然后在 build.gradle 中读取版本号生成至 BuildConfig.java 中,例如:// gradle.propertiesVERSION=1

2022-05-23 21:17:30 917

原创 Java并发编程-Android的UI框架为什么是单线程的

前言众所周知,Android 会在 ViewRootImpl 中调用 checkThread 方法检测是否是在 UI 线程中更新 UI// ViewRootImpl.javafinal Thread mThread;public ViewRootImpl(Context context, Display display) { mThread = Thread.currentThread();}void checkThread() { if (mThread != Threa

2022-05-18 09:59:40 192

原创 Kotlin-KCP的应用-第二篇

前言接Kotlin-KCP的应用-第一篇,本文是第二篇,以下是本文的目标:记录如何简单搭建 KCP 开发环境使用 KCP 解决第一篇中的问题何为KCP?为何不使用KSP?KSPKSP 即 Kotlin Symbol Processing(Kotlin符号处理器),KSP 目前只能生成代码,不能修改字节码,第一篇中的问题需要修改字节码,因此 KSP 不能满足需求KCPKCP 即 Kotlin Compiler Plugin(Kotlin编译器插件),在 kotlinc 过程中提供 hoo

2022-05-12 14:35:46 693

原创 Kotlin-KCP的应用-第一篇

前言KCP的应用计划分两篇,本文是第一篇本文主要记录从发现问题到使用KCP解决问题的折腾过程,下一篇记录KCP的应用背景Kotlin 号称百分百兼容 Java ,所以在 Kotlin 中一些修饰符,比如 internal ,在编译后放在纯 Java 的项目中使用(没有Kotlin环境),Java 仍然可以访问被 internal 修饰的类、方法、字段等在使用 Kotlin 开发过程中需要对外提供 SDK 包,在 SDK 中有一些 API 不想被外部调用,并且已经添加了 internal 修饰,但是

2022-05-08 14:39:35 1092

原创 Android-TextView跑马灯探秘

前言自定义View实现的跑马灯一直没有实现类似 Android TextView 的跑马灯首尾相接的效果,所以一直想看看Android TextView 的跑马灯是如何实现本文主要探秘 Android TextView 的跑马灯实现原理及实现自下往上效果的跑马灯探秘TextView#onDraw原生 Android TextView 如何设置开启跑马灯效果,此处不再描述View 的绘制都在 onDraw 方法中,这里直接查看 TextView#onDraw() 方法,删减一些不关心的代码pro

2022-05-07 09:01:20 592

原创 修改linphone-sdk-android-第四篇

背景在使用linphone-sdk-android过程中,发现当有一起呼叫在通话中时,又收到一起呼叫,会莫名其妙的播报振铃声音,问题是已经调用linphone-sdk-android提供的接口关闭了振铃声音// 关闭RingmCore.setRing(null);mCore.setRingback(null);mCore.setRemoteRingbackTone(null);mCore.setNativeRingingEnabled(false);mCore.setRingDuringInc

2022-04-27 10:33:00 2251

原创 修改linphone-sdk-android-下篇

前言接上篇修改linphone-sdk-android-上篇接中篇修改linphone-sdk-android-中篇本文是下篇,本篇记录在上篇中提到的问题1排查过程及修复方案,尽量描述排查问题过程中的思路与方向上篇中说问题1当初认为是linphone的bug,后面看源码及查资料发现可能不是bug,本篇将记录个人的理解问题这里再描述下问题1:打开音频编解码G722、G729等时,发起呼叫的INVITE SDP中,没有G722、G729的rtpmapm=audio 7078 RTP/AVP 96

2022-04-26 21:48:19 1610

原创 修改linphone-sdk-android-中篇

前言接上篇修改linphone-sdk-android-上篇本文是中篇,本篇记录问题2的后续排查过程及修复方案,尽量描述排查问题过程中的思路与方向分析上篇说到增加日志,编译后放到AS中运行,查看Logcat输出// up不为NULL2022-04-24 18:10:36.969 4002-4018/com.guodong.android.linphone D/guodongAndroid: up = 0x1004332022-04-24 18:10:36.969 4002-4018/com.g

2022-04-26 18:06:22 1479 1

原创 修改linphone-sdk-android-上篇

前言记录修改linphone-sdk-android过程,计划分为上、中、下三篇本文是上篇,本篇仅记录下书问题2的初步排查过程,尽量描述排查问题过程中的思路与方向余下两篇记录问题1、2的修改过程背景接上文编译linphone-sdk-android项目中使用的linphone-sdk-android版本为4.5.x,使用过程中发现以下两个问题:打开音频编解码G722、G729时,发起呼叫的INVITE SDP中,没有G722、G729的RTP MAP,当时以为是linphone的bug,后面

2022-04-26 12:24:46 1040

原创 编译linphone-sdk-android

编译环境系统 Ubuntu 20.04.4 LTS 2核4G 50G存储 i5-8250U 1.60GhzAndroid SDK r24.4.1Android NDK r18bLinphone SDK Release 4.5CMake 3.16.3Python 3.8.10Git 2.15.1Java 1.8.0_312Android环境准备安装 Android SDK NDK cmdline-toolsNDK:https://developer.android.google.cn

2022-04-26 12:20:48 932

原创 AndroidStudio中使用Aliyun Maven

转载请注明出处 http://blog.csdn.net/guodongAndroid/article/details/74598095 本文来自【孫小逗的博客】AndroidStudio中使用Aliyun MavenAliyun Maven地址:http://maven.aliyun.com在项目级别的build.gradle中添加如下Maven地址:buildscript {

2017-07-06 19:18:36 3787

原创 使用秒级编译方案-Freeline

转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/54174776 本文来自【孫小逗的博客】使用秒级编译方案-Freeline一、关于FreelineFreeline是蚂蚁金服旗下开发的一个基于动态替换的编译方案,运用到项目后可以极大的提高项目编译速度。相比较现在的instant-run,buck,layoutcas

2017-01-07 15:37:34 1009

原创 View滑动冲突的两种解决方式

View滑动冲突的两种解决方式1、外部拦截法所谓外部拦截法是指点击事件都先经过父容器的拦截处理,如果父容器需要此事件就拦截,如果不需要此事件就不拦截,这样就可以解决滑动冲突问题,这种方法比较符合点击事件的分发机制。外部拦截法需要重写父容器的onInterceptTouchEvent方法,在内部做相应的拦截即可,这种方法的伪代码如下所示: @Override public boolean

2016-09-13 22:21:59 739

原创 单元素的枚举类型已经成为实现Singleton的最佳方法

一、概述Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前常用的是下面的这种方法:public class Singleton{ private volatile static Singleton instance; private Singleton(){}; public static Singleton getInstance() {

2016-07-26 09:41:20 1441 1

原创 Android事件分发、拦截与处理的理解

转载请注明出处 http://blog.csdn.net/guodongAndroid/article/details/51727272 本文来自【孫小逗的博客】一、概述昨天,某位黑同学问了个很奇葩的问题:禁止ViewPager的左右滑动。好吧,被问到的一瞬间就想是不是他傻X。ViewPager不滑动,干嘛还要用ViewPager,唉,无语。无语归无语,事情还是要干的。随手给他写了个自

2016-06-21 14:48:47 1342

原创 Android中关于scrollBy的一点点心得

转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/51558131 本文来自【孫小逗的博客】一、概述最近对自定义View和动画进行了研究学习,同时之前不太明白的地方也豁然开朗。学习不是一下子就学会的,不懂的地方,在后续的学习过程中会慢慢的理解,有种拨云见日的感觉。 scrollBy(int dx, int dy)主

2016-06-01 18:37:55 2990

原创 记Android Studio自定义属性访问不了的问题

一、概述在Eclipse中对于自定义属性的引用是在根布局文件中声明一个命名空间,比如:xmlns:xxx=“http://schemas.android.com/apk/res/项目包名”。其中xxx是自己定义的,项目包名就是Manifest文件中的package。而在Android Studio中声明命名控件和在Eclipse中类似,例如:xmlns:wzq=”http://schemas.and

2016-05-30 10:30:38 2668

原创 仿IOS版QQ水滴下拉刷新,添加上拉加载、左滑删除

1、概述哈,对于我这样的菜鸟来说,看着大神们的博客总想啥子时候自己也能写博客啊。别说你不知道有哪些大神?好吧,比如,我一直关注的鸿神,还有让我买了第一本Android书籍的郭大侠。好了,就说这些吧。效果如下:2、整合前面已经说了,像我这样学了不到1年Android的菜鸟哪会写这么高大上的控件啊。菜鸟就得站在巨人的肩膀上的飞啊。言过正传,其实看到这个效果大家肯定不陌生,其实这是两个控件的结合体,哪两个

2016-05-27 14:26:29 3151 2

ijkplayer完整so库

完整编译的ijkplayer so库,用于Android开发,可以自己集成到项目中

2018-05-03

commons-net-3.6-sources.jar

commons-net-3.6-sources.jarcommons-net-3.6-sources.jarcommons-net-3.6-sources.jar

2017-11-27

Learning Python 5th Edition.pdf

Python学习手册 Python学习手册 Python学习手册 Python学习手册

2017-10-16

rxjava1中文帮助文档

rxjava1中文帮助文档rxjava1中文帮助文档rxjava1中文帮助文档rxjava1中文帮助文档rxjava1中文帮助文档rxjava1中文帮助文档rxjava1中文帮助文档

2017-09-11

androidfiletransfer.dmg

androidfiletransfer.dmg

2017-05-16

Android集成主流优秀第三方组件框架

Android集成主流优秀第三方组件框架

2016-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除