Android应用开发
文章平均质量分 92
天人人
明天永远是未来,今天才是现在。
展开
-
诡异的内存泄漏
文章目录1.问题描述2.问题分析3.问题复现1.问题描述当我们遇到下面的问题时,以为是创建了很多对象没有释放,或者数据库的cursor未关闭,导致了内存泄漏,但是等我们排查代码后,发现不是以上原因导致的03-25 23:27:32.985 E/AndroidRuntime(12714): java.lang.OutOfMemoryError: Could not allocate JN...原创 2020-03-27 18:42:00 · 1245 阅读 · 1 评论 -
Android内存泄漏 java内存分析
文章目录1.打开AndroidStudio的Profile2.抓取内存快照3.内存分析1.打开AndroidStudio的Profile1.在菜单栏依次点击 View > Tool Windows > Profiler2.在Profile窗口点击左上角的"+"图标,添加要分析的进程3.点击MEMORY进入内存详情界面如下图所示一个应用的内存包括:java,native...原创 2020-03-06 16:29:45 · 451 阅读 · 0 评论 -
可控制的启动关闭跑马灯效果
文章目录前言自定义跑马灯启动关闭轮播前言<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee"/>Android中当文本显示不全...原创 2019-11-22 16:00:22 · 1104 阅读 · 0 评论 -
Android查看进程信息
查看设备所有进程信息adb shelltop查看设备前上个进程信息adb shelltop -m 10查看设备中某个进程运行信息,需要rootadb shellsups | grep "应用包名"strace -p 该应用的进程号...原创 2019-08-13 17:46:37 · 399 阅读 · 0 评论 -
RecyclerView列表滑动空指针问题
文章目录1.问题现象2.解决方法1.问题现象RecyclerView快速下拉,同时在分页加载数据,当数据很多时,则会出现空指针问题出错信息如下所示java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.ViewGroup$LayoutParams android.view.View.g...原创 2019-06-05 12:23:52 · 604 阅读 · 0 评论 -
动态隐藏App启动图标
隐藏APP启动图标,网上说使用COMPONENT_ENABLED_STATE_DISABLED隐藏后不能显示,需要使用COMPONENT_ENABLED_STATE_DISABLED_USER,我没有出现这个情况。MainActivity为对应的启动Activitypublic static void hideAppIcon(Context context) { /* ...原创 2019-03-21 18:15:14 · 470 阅读 · 0 评论 -
Robolectric初学总结
Robolectric初学总结前言1. 环境配置2. 编写测试用例3. 编译运行4. 遇到的问题4.1 找不到Robolectric类4.2 运行时依赖Android相关设置4.3 不能识别资源文件dimens.xm配置的值4.4 添加log信息前言最近老大让研究下自动化测试,然后单元测试选择了Robolectric,UI测试选择啦UIAutomator先来看看什么是Robolectric(...原创 2019-02-18 08:31:49 · 1395 阅读 · 0 评论 -
Android SELinux配置
文章目录1.权限警告2.权限警告语法3.权限配置语法4.配置普通权限5.配置ioctl特殊权限6.配置新增节点权限1.权限警告最近在调试Android的selinux配置,主要出现了一下三种权限警告,在此记录一下avc: denied { create } for pid=2984 comm=“test_app” path=&amp;amp;amp;quot;/dev/socket&amp;amp;amp;quot; scontext=u:r:tes...原创 2019-03-06 14:39:13 · 2095 阅读 · 0 评论 -
系统App集成leakcanary来查找内存泄露
Android的APP可以使用leakcanary(参考链接https://github.com/square/leakcanary)来进行定位分析,而leakcanary工程是为AndroidStudio配置的,我们需要将其移植到系统编译环境中。1.获取JAR包链接:https://pan.baidu.com/s/18WWTHuU9Z6Tmdz1izUzE4w 密码:iwcq...原创 2018-04-02 17:53:41 · 614 阅读 · 0 评论 -
关于Android5.0上SeekBar的一个BUG
关于Android5.0上SeekBar的一个BUG最近在做Android5.0的系统APP定制,遇到一个SeekBar拖动无效的问题,进过分析定位发现是由于在异步线程创建SeekBar导致,对应问题demo接下是该问题的具体分析:1.SeekBar代码结构 可以看到SeekBar继承了AbsAeekBar,而AbsAeekBar又继承了ProgressBar 拖动SeekBa原创 2018-02-24 10:29:12 · 1718 阅读 · 2 评论 -
使用AndroidStudio进行系统应用开发
在我们进行Android系统app开发时,我们常常会苦恼于: - 不能在AndroidStudio中调用系统定制API - 不能直接通过AndroidStudio直接允许app那么要解决这两个问题,我们需要做些准备: -通过系统编译带有定制API的JAR包 -使AndroidStudio引用相应JAR包 -获取系统签名证书 -使AndroidStudio引用签名证书生成app获取定制AP原创 2017-10-14 22:03:16 · 2192 阅读 · 0 评论 -
Android7.0调用照相、相册总结
-权限校验 -权限申请 -赋予第三方应用Uri权限 -打开照相机 -打开相册 -裁剪图片原创 2017-12-24 21:38:57 · 5816 阅读 · 0 评论 -
Android使用Messenger跨进程通信
1.了解Messenger1.1Messenger概念1.2Messenger与AIDL区别2.使用注意点2.1Service启动不了2.2跨进程传递Object不能识别2.3跨进程嵌套Object,序列化不完全3.编写Demo3.1编写Service3.2AndroidManifest注册Service3.3编写客户端3.4客户端、服务端添加序列化对象TestO...原创 2018-05-18 10:05:08 · 1726 阅读 · 0 评论 -
HTTPS自签名证书以及Android应用https请求
1.理论1.1术语1.2https必要性1.3https请求原理1.4https请求过程1.5证书的签发的必要1.6对称秘钥使用2.通过OpenSSL实践2.1Linux环境安装OpenSSL2.2创建自己的CA证书2.3创建服务端的证书2.4创建客户端的证书2.5服务端Tomcat部署https请求3测试3.1OpenSSL命令测试3.2浏览器访问测试...原创 2018-04-03 18:18:24 · 11130 阅读 · 10 评论 -
Android应用动态修改主题
1.使用API设置主题如下所示,在Activity中使用setThemesetTheme(R.style.MyTheme1);2.调用API的时机需要在super.onCreate(savedInstanceState)之前调用setTheme3.重新设置主题要重新设置主题,则需要结束Activity,重新启动才可以public class MainAc原创 2018-01-10 18:25:34 · 4615 阅读 · 0 评论 -
Android的Elevation与TranslationZ探索
Elevation 表示视图控件所在的高度,值越大对应的阴影越大,看起来高度越高TranslationZ 同样表示视图控件所在的高度,但是其表示的是相对高度例子LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://sch原创 2018-01-23 17:28:18 · 8843 阅读 · 0 评论