- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 利用 Python 脚本收集 Activity 启动时间
说到性能优化,App的启动时间是经常谈到的话题,通过 adb 命令可以收集到,那么如果要统计一个App中每个页面的启动时间,应该如何收集呢?这里可以使用三种方式获取 Activity 的启动时间: - 使用 adb am start -W 命令 - Activity 启动后查看 Android Studio 日志:I/ActivityManager: Displayed xxx/xxx: + ...
2018-05-20 18:03:11
946
1
原创 Flask + Vue 搭建简易系统步骤总结
之前一段时间一直在学习 python,后来在项目中用 weex 时接触到了 vue.js,本来 python 是自己想学的一门脚本技术,weex 是项目需要,必须了解些 vue.js 方面的语法,所以为了加深对这两门技术的了解,一直在想怎么在实际项目中使用这些技术。刚好,团队中有一个分析App性能分析的需求,被分配统计Android 页面启动时间,针对本地调试,可以通过跑 python 脚本实现,...
2018-04-28 10:18:02
17800
1
原创 ScrollView嵌套RecyclerView滑动冲突解决
最近发现自己负责的项目中,有使用 ScrollView 嵌套 RecyclerView 的地方,但是没有做任何针对滑动冲突的处理,于是就想看下为什么没有做这个处理,便进行了如下测试,发现了几个由其的问题。测试场景:页面内容包括类似 HeaderView 的部分 + RecyclerView列表部分,布局是垂直方向,此处列表之上的布局内容并不是以 header add到RecyclerView上
2017-06-06 20:25:42
23623
1
原创 Android消息传递机制
一、概述 Android消息机制主要是指 Handler 的运行机制以及 Handler 所附带的 MessageQueue 和 Looper 的工作过程。 在具体谈论这三者之间关系之前,先来了解一下什么叫异步消息处理线程。 异步消息处理线程启动后会进入一个无线的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理方法,执行完成后继
2017-04-19 23:59:49
428
原创 如何在 BroadcastReceiver 中执行耗时操作?
一、BroadcastReceiver 注册方式 BroadcastReceiver 有两种注册方式,一是使用 { Context.registerReceiver()} 动态注册,另一种是在 AndroidManifest.xml中通过 元素静态注册。Note: 如果你在Activity的 onResume() 方法中注册广播,就需要在 onPause()方法中取
2017-04-14 13:08:25
8392
原创 ScrollView嵌套EditText滑动冲突问题
一、ScrollView不滑动问题描述:根布局为ScrollView,子布局有时会动态添加View,此时当添加View的总高度超过屏幕高度时,ScrollView是不会滑动的。分析:根布局为 ScrollView,设置的高和宽为 match_parent,当Activity加载完布局后,ScrollView会根据layout.xml文件中的布局计算出自己的高和宽为屏幕高宽,当其中有子布局动
2017-03-23 11:58:19
662
1
原创 Android中动态设置View属性
1、给TextView设置 drawableLeft / drawableTop / drawableRight / drawableBottom:方式一: Drawable drawable= getResources().getDrawable(R.drawable.add); // 这一步必须要做,否则不会显示. drawable.setBou
2016-11-22 09:46:47
1103
原创 Android Studio配置Gradle统一依赖管理
-----为整个Project配置同意的sdk版本-----1. 在根目录下创建 config.gradle如下:// Gradle统一依赖管理ext{ ANDROID_COMPILE_SDK_VERSION=24 ANDROID_BUILD_TOOLS_VERSION="24.0.1" ANDROID_BUILD_MIN_SDK_VERSION=15 ANDROID_T
2016-11-21 15:59:27
1267
原创 Git常用命令
一.基本的 Git 工作流程如下所示:1. 在工作目录中修改某些文件。2. 对这些修改了的文件作快照,并保存到暂存区域。3. 提交更新,将保存在暂存区域的文件快照转储到 git 目录中。二、配置用户信息 用户名和邮件地址:your username your eamil 基本命令如下:1、配置用户名和电子邮件 $ git config --global user
2016-11-17 13:49:24
562
原创 Fiddler使用和数据抓包
一、Fiddler使用说明 1.、Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。二、.什么是Fiddler?Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HT
2016-08-18 09:35:18
10079
原创 ListView置顶问题
点击“置顶”按钮,当前item项变成第一项,先移除本item的数据项,再添加,不然会有重复,使用notifyDataChanged更新列表,然后setSelection选中第一项。holder.btn_toTop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View
2016-07-11 14:57:39
612
原创 Android Studio NDK开发--JNI编程
一、如何安装配置NDK1、对于Android Studio,点击Setting 在Android SDK -> SDK Tools,找到Android NDK选项,勾选并下载;2、下载成功后,一般在你Android Studio配置的SDK的 sdk 目录下能找到 ndk-bundle 目录;3、设置环境变量,新建系统变量, NDK_HOME 值为 D:\adt-bundle\sdk
2016-07-05 20:26:56
688
原创 Android中如何给TextView添加下划线、设置不同字体和颜色
一、如何给TextView添加下划线以及点击跳转 String txt = "点击跳转到百度"; SpannableString spannableString = new SpannableString(txt); spannableString.setSpan(new ClickableSpan() { @Override
2016-04-13 17:50:33
8797
原创 Android自定义控件(一)
1、创建新视图的类型与希望达到的目标:如果现有控件已经满足希望实现的基本功能,那么只需要对现有控件的外观和行为进行修改或扩展即可。通过重写事件处理程序和onDraw方法,但是仍然回调超类的方法,可以对视图进行定制,而不必重新实现它的功能。例如,定制一个TextView来显示指定位数的小数。可以通过组合多个视图创建不可分割的、可重用的控件,从而使它可以综合使用多个相互关联的视图的功能。例
2016-01-05 10:15:47
520
原创 Android多屏幕适配解决方案
一、重要概念(详见http://blog.csdn.net/skykingf/article/details/45536143)1、屏幕尺寸、分辨率、像素密度、大小单位:2、mdpi、hdpi、xdpi、xxdpi用来修饰drawable和values文件夹,用来区分不同像素密度下的图片和dimen的值。二、解决方案1、使用wrap_content、match_pare
2015-12-31 10:48:54
587
原创 Android实现ImageView的旋转动画
本文主要介绍如何使用RotatationAnimation和ObjectionAnimation实现ImageView不同旋转的动画。
2015-12-29 16:53:23
25930
原创 加密算法
一、单向加密算法MD5和SHA 1、MD5加密算法 概念:MD5 (Message Digest Algorithm MD5消息摘要算法第五版),为计算机安全领域的一种散列函数(杂凑算法/摘要算法/哈希算法),用以提供完整性保护。 作用:MD5的作用是让大容量信息在用数字签名软件签署 私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字符串变成一定长的十六进制数字串)。
2015-12-15 09:18:53
1097
原创 Intent的使用方法和场景
Intent相当于组件之间通信的桥梁,使用它可以给其他的Activity和Service组建传递数据。Intent有显隐式之分,显式的Intent是根据组建的名称直接启动要启动的组建,如Service或者Activity,隐式的Intent通过配置的action, category, data来找到匹配的组件并启动。一、显示Intent两种载入的方式:1、Intent intent =
2015-09-10 16:43:05
764
原创 Android动画
1.Tween动画(渐变AlphaAnimation/缩放Scale/位移Translate/旋转Rotate)2.Tweene Animations 主要类: Animation 动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation
2015-09-10 13:05:48
404
原创 个推和极光推送技术介绍
一、概念1、早期推送服务 在移动互联网以前的手机,如果有事情发生要通知用户,则会弹出一个窗口,告诉用户正在发生的事,可能是未接电话提示、日历提醒或是一封彩信。推送功能最早是被用于Email中,而目前更多地被应用于App中。 2、推送 一般地,当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,而要获取服务器上不定时更新的信息一般有两种方法:
2015-09-10 12:54:44
25210
1
原创 Android几种FrameWork(Manager)的用法
一般地,安卓应用程序开发只关注架构图的最上层Application层,接下来是第二层Application Framework层,本文主要总结了一下WindowManager, PackageManager, NotificationManager的几种常见用法及其关键代码。
2015-09-10 11:24:17
1717
原创 Fragment的使用
Fragment的使用为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activity一样包含布局。Fragment通常是嵌套在Activity中使用的。 1.Fragment初探Fragment可以让我们很好地利用手机的空间,例如,在一个竖屏的平板或者手机上,Fragment1可能在这个Acti
2015-09-08 15:33:44
485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人