自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android百晓生的博客

Android技术深入挖掘与交流

原创 SparseArray、ArrayMap和HashMap

在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比...

2019-07-16 15:15:12

阅读数 18

评论数 0

原创 Retrofit2+Okhttp3网络请求

权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission> //retrofit2 api 'com.square...

2019-06-14 17:47:08

阅读数 190

评论数 0

原创 jks与keystore区别

keystore 是Eclipse 打包生成的签名。 jks是Android studio 生成的签名。 都是用来打包的,并保证应用的唯一性,这就是他们的最大的区别! 备注:很多第三方市场,我们上传apk的时候,他们只支持keystore,需要我们把.jks签名转化为.keystore! 例:百...

2019-06-13 16:14:58

阅读数 246

评论数 0

原创 Android日常踩坑

1、RadioGroup设置默认选择,出现选中两个的问题 场景:设置RadioGroup其中一个RadioButton默认选中,即android:checked=“true”,切换选项的时候默认选中项一直处于选中状态,出现两个子项同时被选中的情况 解决办法:给RadioGroup 设置选中的Rad...

2019-06-06 15:25:08

阅读数 29

评论数 0

原创 NDK环境相关

最近在之前老项目中进行NDK开发,发现在Android Studio中编写C代码时候,编译器没有自动补全的提示,很蛋疼,于是研究通过以下方法成功解决: 1、创建完成jni目录,生成.h文件及创建.c文件 2、rebuild项目,生成Android.mk文件 Android.mk文件内容如下: L...

2019-05-23 16:05:48

阅读数 10

评论数 0

原创 EventBus多次接收踩坑

今天添加一个EventBus的时候,偶然发现@Subscribe标签下的回调执行了多次,但是只post了一次事件,很奇怪,之前使用不会有这个问题! post: 经过打log调试,最终发现是EventBus.getDefault().register(this);注册了多次导致: 由于业务中B...

2019-05-23 14:15:26

阅读数 670

评论数 0

翻译 for循环遍历集合时add或remove

之前使用foreach循环add数组元素时抛出ConcurrentModificationException,故总结如下: 运行:foreach循环时调用add,抛出java.util.ConcurrentModificationException异常: 可参考阿里编程手册的foreach中r...

2019-05-17 20:28:45

阅读数 116

评论数 0

原创 JNI属性与方法访问实例

1、Java实现: package com.test.jni; import java.util.Random; import java.util.UUID; public class JniTest { public String key = "jason"; ...

2019-05-11 08:55:50

阅读数 27

评论数 0

原创 JNI开发流程

JNI(Java Native Interface) Java调用C/C++,C/C++调用Java的一套API Eclipse + vs编写Jni流程: 1.编写native方法 2.javah命令,生成.h头文件 3.复制.h头文件到CPP工程中(Visual Studio中) 4.复制jni...

2019-05-10 18:15:06

阅读数 24

评论数 0

原创 c中宏定义

宏定义(宏替换、预编译指令) define指令 1、定义标识 #ifdef _cplusplus 标识支持c++语法 //防止文件重复引入(早期使用宏函数,之后版本可用#pragma once) 2.定义常数(便于修改和阅读) #define MAX 100 int MIN = 40;(区别:J...

2019-05-09 17:36:14

阅读数 29

评论数 0

原创 c中枚举、联合体

联合体(共用体) 不同类型的变量共同占用一段内存(相互覆盖),联合变量任何时刻只有一个成员存在,节省内存; 联合体变量的大小=最大的成员所占的字节数,最后一次赋值有效 例: union MyValue { int x; int y; double z; }; void main(){ ...

2019-05-06 10:52:20

阅读数 44

评论数 0

原创 c中结构体

一、结构体的几种写法 1、基础写法 struct Man { char name[20]; int age; }; void main(){ struct Man m1 = { "bob", 21 }; struct Man* m_p = &m1; ...

2019-05-05 16:18:40

阅读数 16

评论数 0

原创 对接口回调的深入理解

今天在学c的函数指针时候,了解到Java的接口回调源于此,对接口回调有进一步了解,故有此记。 c中把一个函数指针参数作为函数的参数传递,类似于java中的回调函数。 函数指针案例: int add(int a, int b){ return a + b; } int minus(int a...

2019-05-03 19:03:02

阅读数 30

评论数 0

原创 NDK入门详细教程

一、NDK下载 步骤:点击SDK Manger -> SDK Tools -> 勾选CMake和NDK -> 点击Apply->OK,NDK下载完成 NDK:这套工具集允许为 Android 使用 C 和 C++ 代码。 CMake:一款外...

2019-04-23 20:48:45

阅读数 13

评论数 0

原创 百度地图踩坑经验DistanceUtil.getDistance报错

下午一直在报这个错误,坑了一下午: java.lang.UnsatisfiedLinkError: No implementation found for boolean com.baidu.platform.comjni.tools.JNITools.CoordinateEncryptEx(fl...

2019-04-15 18:20:44

阅读数 117

评论数 0

原创 高版本Service保活

Service保活思路,分两步: 一、优化Service优先级,降低被杀死的概率 二、杀死后拉起 Service优化: 1、增加通知,设置为前台服务 NotificationCompat.Builder nb = new NotificationCompat.Builder(this); nb.s...

2019-04-12 10:33:47

阅读数 68

评论数 0

翻译 百度定位高版本问题适配

使用百度SDK进行定位过程中,发现6.0以上Android系统,对定位会有一定影响,具体如下: Android6.0问题 在Android 6.0之后,Android系统增加了动态权限授予的控制,定位权限需用户确认后,App才能拿到如基站、WIFI等信息,从而实现定位。 Google在Andro...

2019-04-10 14:12:17

阅读数 41

评论数 0

原创 Application多次创建

Application onCreate多次执行 记一次Application多次创建: 解释一下,每个android应用都要运行在一个虚拟机上,采用Service和后台服务器通信进行通信,于是和原本的Activity就形成了多进程。一个前台的应用进程,一个service后台进程,每个进程对...

2019-04-09 21:54:47

阅读数 61

评论数 0

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