Andriod进阶
文章平均质量分 54
程序员学园
专注于Java、Android、前端、小程序等开发,祝你快速进阶成为技术大牛,拿到大厂 offer,绝不手软。
展开
-
Andriod内存泄露之WebView
泄露原因在这次开发过程中,需要用到webview展示但是当频繁的退出再进入包含WebView 的Activit时,会出现内存泄露。有人说,一旦在你的xml布局中引用了webview甚至没有使用过,都会阻碍重新进入Application之后对内存的gc。包括使用MapView有时一会引发OOM,几经周折在网上看到各种解决办法,在这里跟大家分享一下。但是到目前为止还没有找到根本的解决办法,网上原创 2017-02-28 13:50:26 · 579 阅读 · 0 评论 -
为什么你的简历投出去石沉大海?
相信很多求职者都有这样一些困惑:我的简历写的这么好,为什么投出去之后得不到任何面试邀请呢?为什么我面试的时候聊得挺好,说回去等通知,苦等之后还是音讯全无呢?因为前段时间面试了一些Android开发的同学,面了一个多月才招到合适的,这个很大程度上是面试者本身的问题,故写此文章说一下我对求职简历以及面试的一些看法。本文主要围绕以下几个方面探讨,喜欢的话可以关注知乎或者微信公众号「陈守印同学」。一、一份原创 2017-10-19 09:19:31 · 2992 阅读 · 0 评论 -
一行代码搞定Android弧形卫星动画菜单(附Demo)
特性:支持上下左右四个方向展开弧形菜单 支持扩展菜单,理论上多少个子菜单都可以支持自定义菜单图标和子菜单图标支持自定义菜单弹出的圆弧半径 支持设置菜单按钮和子菜单按钮大小支持是否显示子菜单文字效果图:使用compile 'csy.menu.satellitemenulib:SatelliteMenu:1.0.3'使用介绍: xml属性 描述 值 radius 圆弧直径原创 2017-10-17 08:54:09 · 3245 阅读 · 0 评论 -
友盟register failed: -11 accs bindapp error!
下载官方Demo后,替换自己的id包名后出现register failed: -11 accs bindapp error!经过一番搜索之后,都是说这二种原因1、检查appkey和secret key是否配置正确,如果正确无误,请看步骤2。2、so文件配置有误,需重新配置: PushSDK 3.x默认只提供armeabi和x86两种so文件夹,若主工程(除PushSDK外的Module均看做原创 2017-10-19 12:35:22 · 4757 阅读 · 0 评论 -
Android如何获取assets或者raw目录的视频文件路径播放视频
获取assets的文件方法String mp4FilePath = "file:///android_asset/Kotlin与ava共存.mp4";再调用mVideoView = (VideoView) findViewById(R.id.mVideoView);mVideoView.setVideoPath(mp4FilePath);mVideoView.start();会提示播放失败。原创 2017-10-21 21:55:18 · 20110 阅读 · 2 评论 -
Android VideoView播放视频只有声音没有图像黑屏
问题描述:Android用VideoView播放视频只有声音没有图像黑屏,视频格式为Mp4,在晚上下载的,直接用电脑可以播放机子型号:Android 5.0最后原因:下载的视频格式编码格式有误,也就是说可能是flv格式的,只是后缀是MP4,最后换一个视频就可以了。分享一个https链接的mp4视频下载链接,不知为何,https的无法直接播放,应该是不支持吧https://github.com/原创 2017-10-21 23:06:46 · 5219 阅读 · 0 评论 -
Android VideoView播放视频只有声音没有图像黑屏
问题描述:Android用VideoView播放视频只有声音没有图像黑屏,视频格式为Mp4,在晚上下载的,直接用电脑可以播放机子型号:Android 5.0最后原因:下载的视频格式编码格式有误,也就是说可能是flv格式的,只是后缀是MP4,最后换一个视频就可以了。分享一个https链接的mp4视频下载链接,不知为何,https的无法直接播放,应该是不支持吧。应该是原生的播放器暂不支持https原创 2017-10-21 23:17:35 · 3184 阅读 · 0 评论 -
Android将jar包转换为dex二进制文件
通过dx工具将jar包中所有的类打包编译为一个名为classes.dex的文件。该工具在sdk的build-tools里面比如build-tools\19.1.0cmd切换目录到该文件夹下,执行dx --dex --output 待统计.dex 待统计.jar注意 待统计.jar 也应该在该目录下,或者其它目录,如:E:\java统计apk或者jar、dex方法数\待统计.jar输入完命令,点击回车原创 2017-05-26 10:17:52 · 1831 阅读 · 0 评论 -
Android VideoView播放视频只有声音没有图像黑屏
问题描述:Android用VideoView播放视频只有声音没有图像黑屏,视频格式为Mp4,在晚上下载的,直接用电脑可以播放机子型号:Android 5.0最后原因:下载的视频格式编码格式有误,也就是说可能是flv格式的,只是后缀是MP4,最后换一个视频就可以了。分享一个https链接的mp4视频下载链接,不知为何,https的无法直接播放,应该是不支持吧。应该是原生的播放器暂不支持https原创 2017-10-22 08:21:46 · 2621 阅读 · 0 评论 -
Android VideoView播放视频竖屏切换横屏有黑白边无法全屏
问题描述:Android VideoView播放视频竖屏切换横屏有黑边无法全屏解决办法是自定义VedioView,动态设置宽高。 * 1.自定义VedioView,并在onMeasure中添加int width = getDefaultSize(0,widthMeasureSpec);int height = getDefaultSize(0,heightMeasureSpec);setMe原创 2017-10-22 10:20:20 · 6715 阅读 · 0 评论 -
Android集成小米华为推送以及收不到离线消息的坑
华为推送 * ####1.应用被杀后,无法收到透传消息?应用被杀死后,无法收到透传消息,再手动打开app,也收不到之前发送的消息,像有的第三SDK,应用被杀后,再打开app,还可以收到之前的离线消息,华为推送不能接收离线消息吗?这个说的是透传消息,像通知栏消息就算app被杀,也是可以收到推送消息的。但是透传消息消息被杀后,无法收到消息推送。解决的办法有二种第一:设置→应用权限→允许应用自启动笔者测原创 2017-10-24 11:12:21 · 11675 阅读 · 1 评论 -
sendEmptyMessageAtTime和sendEmptyMessageDelayed的区别
场景:想实现一个每隔1s就循环发送消息的功能,没注意用了sendEmptyMessageAtTime,结果程序跑了一会就挂了,没道理呀!发现消息 mHandler.sendEmptyMessageAtTime(MSG_UPDATA_PROGRESS,MSG_UPDATA_DELAY);收到之后再次发送消息 private Handler mHandler = new Handler() {原创 2017-10-22 17:33:53 · 8738 阅读 · 0 评论 -
java统计apk或者jar、dex方法数
首先需要下载一个工具类:java统计apk或者jar、dex方法数工具下载之后,cd到此目录执行java -jar E:\java统计apk或者jar、dex方法数\dex-method-counts.jar 待统计.dex我们可以看到已经成功的统计了该dex里面的方法数。如果是apk呢,执行java -jar E:\java统计apk或者jar、dex方法数\dex-method-counts.j原创 2017-05-26 10:21:41 · 549 阅读 · 0 评论 -
JsonObject生成Json字符串有转意字符
"PatientInfo": { "Name": "{\"GivenName\":\"sduie\"}", "Height": "", "Weight": "身高170", "age": "", "Sex": -1, "PatientID": "" }如上图"Name": "{\"GivenNa原创 2017-05-15 18:28:16 · 7635 阅读 · 0 评论 -
Android内存泄漏检测工具--LeakCanary
以前我看到内存泄漏分析文章的时候也是这样的想法,看着恐怖的MAT内存模型图,觉得内存泄漏的排查和解决简直是Android开发中登峰造极的技能。直到我遇到了她——LeakCanary,我才直到原来内存泄漏的排查和解决可以那么的优雅。LeakCanary是Square开源了一个内存泄露自动探测神器 。这是项目的github仓库地址:https://github.com/square/leakcanary原创 2017-02-28 14:04:49 · 647 阅读 · 0 评论 -
Andriod注册广播而未销毁引起的内存泄露
问题还原Activity com.shangche.tachograph.activity.MainActivity has leaked IntentReceiver com.shangche.tachograph.utils.aputil.WiFiConnectionReciever@1e68ecbd that was originally registered here. Are you原创 2017-03-05 12:06:59 · 1467 阅读 · 0 评论 -
Andriod中绘(画)图---- drawXXX()方法坐标参数详解
drawXXX()方法族 说明:以一定的坐标值在当前画图区域画图。 注意:图层会叠加,即后面绘画的图层会覆盖前面绘画的图层。drawRect(float left, float top, float right, float bottom, Paint paint)其中前面四个参数分别可用如下图表示: 本文作者简书地址: http://ww原创 2017-03-09 22:28:39 · 435 阅读 · 0 评论 -
Andriod自定义View一:TextView可设置宽高
第一步:建立一个MyCustomView继承View,实现构造方法/** * Created by chenshouyin on 17/3/9. */public class MyCustomView extends View { //1.此处应该继承View //2.此处用this依次调用第二个第三个构造方法 public MyCustomView(Context con原创 2017-03-10 13:02:16 · 2846 阅读 · 0 评论 -
Andriod自定义View二:canvas.drawText参数的介绍以及绘制一个文本居中的案例
首先,我们看下这个方法参数的含义:canvas.drawText(text, x, y, paint),第一个参数是我们需要绘制的文本,第四个参数是我们的画笔,这两个不用多说,主要是第二和第三个参数的含义,这两个参数在不同的情况下的值还是不一样的 x默认是这个字符串的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就是字符的中心.翻译 2017-03-09 22:51:44 · 552 阅读 · 0 评论 -
Andriod自定义View三:getWidth()与getMeasuredWidth()的区别
自定义控件的时候getMeasuredWidth/getMeasuredHeight它的赋值在View的setMeasuredDimension中,所以有时可以在onMeasure方法中看到利用getMeasuredWidth/getMeasuredHeight初始化别的参数。而getWidth/getHeight一直在onLayout完成后才会被赋值。一般情况下,如果都完成了赋值,两者值是相同的。翻译 2017-03-10 08:44:41 · 346 阅读 · 0 评论 -
Java线程run和start方式的区别
start():通过该方法启动线程的同时也创建了一个线程,真正实现了多线程,这是无需等待run()方法中的代码执行完毕就可以直接执行线程外面的代码,通过start创建的线程处于可运行状态,当得到CPU时间片后就会执行其中的run方法, 这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束, 此线程随即终止。 run():在当前线程开启,比如当前线程是主线程,那么原创 2017-03-23 00:30:37 · 410 阅读 · 0 评论 -
ViewPager切换防止Fragment销毁以及取消Fragment的预加载
存在的问题 1. 默认情况下,ViewPager会自动预加载 2. 切换过程中会销毁fragment视图下面的图说明情况如图,在Activity中使用ViewPager嵌套三个Fragment,当fragment1出现的时候,此时会预加载fragment2,滑动到fragment2会预加载fragment3,但是滑动到fragment3,此时会调用fragment1的destroyview方法,原创 2017-04-04 00:29:27 · 4632 阅读 · 0 评论 -
非静态内部类Handler类引起内存泄露
最近在项目中使用延时Handler做Splish页面的跳转。new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SplishActivity.this,MainActivity.class); s原创 2017-04-04 01:01:11 · 639 阅读 · 0 评论 -
Android冷启动白屏黑屏处理
最近项目中点击启动应用的时候都有一段时间的白屏,这会给人一种卡顿的感觉。注意看了下,手机上有不少应用也有这样的问题。不过微信、百度地图这些应用没有这个问题。借用一张图,描述现象优化后解决办法是在主题中设置<item name="android:windowIsTranslucent">true</item>原创 2017-04-04 19:04:11 · 385 阅读 · 1 评论 -
Android冷启动白屏黑屏处理
最近项目中点击启动应用的时候都有一段时间的白屏,这会给人一种卡顿的感觉。注意看了下,手机上有不少应用也有这样的问题。不过微信、百度地图这些应用没有这个问题。借用一张图,描述现象优化后解决办法是在主题中设置<item name="android:windowIsTranslucent">true</item>原创 2017-04-04 19:19:54 · 274 阅读 · 0 评论 -
自定义水平刻度尺和圆形钟表刻度 可点击 可拖动 刻度
效果图如下水平刻度尺基本功能 * 水平刻度划分为60份,代表60分钟,可自己修改 * 刻度尺上课自定义数字标识 * 可区分大小刻度 * 可以拖动游标前进后退 * 刻度值变化回调圆形钟表刻度尺基本功能 * 圆弧划分为24等份,代表24小时,可自己修改 * 形钟表刻度尺外围可自定义数字标识 * 可区分大小刻度 * 可点击可拖动 * 可以前进后退 * 刻度值变化回调...原创 2018-04-12 12:49:12 · 2492 阅读 · 0 评论