- 博客(14)
- 问答 (1)
- 收藏
- 关注
原创 app专属存储空间目录访问
应用专属存储空间:其他应用无法访问空间下的目录、文件,应用可以存储专属自己的文件数据。用户卸载应用时,系统会移除此空间下的所有数据。访问内部存储空间:getFilesDir()、openFileOutput()、openFileInput()、getDir()、getCacheDir()、File.createTempFile()外部存储:getExternalFilesDir()、getExternalCacheDir()查询可用空间: StorageStateManager.getFreeB
2020-07-30 11:22:52
739
原创 app运行时系统配置发生改变,不重启Activity
如果需要在配置发生改变时(如竖屏变横屏),不重启Activity,则需要在AndroidManifest文件中为该Activity添加configChanges属性,这样在配置改变时机会回调onConfigurationChanged(),无需重启Activity。 注意,此种方式虽然不会重启Activity,但与配置所对应的资源也不会被系统自动加载,仍会使用配置改变前的资源文件,需要你在onConfigurationChanged方法方法中自行处理配置改变。...
2020-07-22 16:09:44
448
原创 String、StringBuffer、StringBuilder的异同
1、执行速度的比较:StringBuilder > StringBuffer > String;2、String是不可变对象,对string对象的任何修改都会新生成一个string对象,变量将会指向新的string对象,原string对象保持不变;3、StringBuffer、StringBuilder是可变对象,内部维护char[],它们的修改操作都是在char[]上进行;...
2020-04-27 15:38:52
123
原创 Android应用安全防护4个步骤
1、混淆:代码混淆和资源混淆。apk被反编译后增加代码阅读难度,同时也能减少apk体积;2、签名保护:在应用入口处增加签名校验,防止apk被二次打包;3、手动注册native方法:通过registerNative在native层注册native方法,可以映射c中的方法名和java中的方法名,增加so文件被破解后的阅读难度;4、反调试检测:被调试的进程会在/proc/[myPid]/...
2020-04-22 12:22:37
245
原创 AndroidStudio NDK开发配置CMakeList.txt
记录NDK开发时如何配置CMakeList.txt文件,在模块的src目录下新建CMakeList.txt文件;1、在CMakeLists文件中指定cmake版本: cmake_minimum_required(VERSION 3.4.1)2、指定cmake项目的名称 PROJECT(music-player)3、确定头文件的目录 include_...
2020-04-20 13:28:05
473
原创 Android Service的onStartCommand方法的返回值
Service中onStartCommand返回值详解:1、START_STICKY:当service已经启动,并且执行过onStartCommand,如果此时service被系统杀掉,那么service离开开始状态,同时不会保留分配到的Intent。稍后,系统将会尝试重新创建service。由于之前的service处于开始状态,所以在创建service实例后,onStartCommand方法一...
2020-01-17 11:18:16
444
原创 Android aar包修改代码后重新打包
修改aar包代码的几个步骤:1、解压出arr包:unzip xxx.aar -d tempFolder2、找到classes.jar文件,并使用jd-gui查看代码,找到需要修改的文件;3、打开Android Studio,新建同路径同名文件,并把代码复制到里面,同时,导入aar解决依赖问题;4、修改完代码后,build一下,从/build/intermediates/javac/...
2020-01-17 09:52:59
2737
原创 Android Webview入坑记录之Javascript回调
业务需求,原生代码调用H5页的JS方法,并且js方法的参数带有json串。坑:如果json串是被Uri.encode过,那么调用webview.loadUrl(“js方法”);那么被作为js方法参数的json将会被webview解码decode。而我们的需求是要拿到原始的json串。一翻度娘排查,发现在4.4以上的系统需要使用evaluateJavascript()方法回调js,这样才能在...
2020-01-15 11:46:26
451
原创 Android Webview 调起系统相机、相册
公司有个业务需求,需要在H5页中可以分别调起相同中的相机、相册。拿到该H5页看了一下,H5中调起相机和打开相册的源码分别是:#调起相机<input type="file" accept="image/*" capture="camera"/>#打开相册<input type="file" accept="image/*" multiple="multiple"/&g...
2020-01-13 14:34:47
2698
原创 Android中子线程更新UI的几种方式
1、Handler先来看下官方对Handler的描述 A Handler allows you to send and process {@link Message} and Runnable objects associated with a thread's {@link MessageQueue}. Each Handler instance is associated wi...
2020-01-09 17:01:40
121
原创 android xml文件的解析方法DOM、XmlPull、SAX
1、XML是什么?XML是一种可扩展标记语言,其文档结构被设计成树型结构,主要用于数据信息的描述和存储、携带数据和交换数据,通过XML,可以在不兼容的系统之间交换数据。2、在Android中怎样解析XML文件 优点 缺点 DOM 1.XML树在内存中完整存储,因此可以直接修改...
2020-01-09 11:32:03
94
转载 Android中Serializable和Parcelable序列化对象
本文转载自:http://www.jb51.net/article/79933.htm本文详细对Android中Serializable和Parcelable序列化对象进行学习,具体内容如下学习内容:1.序列化的目的2.Android中序列化的两种方式3.Parcelable与Serializable的性能比较4.Android中如何使用Parcelable进行序列
2016-03-09 22:07:45
158
原创 Android动画基本使用
一、Frame Animation 帧动画1、在res/drawable/目录下新建xx.xml文件,root element为<animation-list>,引入需要播放的帧图片:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.andr...
2016-01-03 20:08:46
186
空空如也
Webview加载一个带css循环动画的页面,为什么native层内存一直在增加?
2021-12-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人