Android
Android 学习笔记和技术总结专栏
GSNICE-2019
这个作者很懒,什么都没留下…
展开
-
带你打造一套 APM 监控系统(四)
七、 Crash 监控1. 异常相关知识回顾1.1 Mach 层对异常的处理Mach 在消息传递基础上实现了一套独特的异常处理方法。Mach 异常处理在设计时考虑到:带有一致的语义的单一异常处理设施:Mach 只提供一个异常处理机制用于处理所有类型的异常(包括用户定义的异常、平台无关的异常以及平台特定的异常)。根据异常类型进行分组,具体的平台可以定义具体的子类型。清晰和简洁:异常处理的接口依赖于 Mach 已有的具有良好定义的消息和端口架构,因此非常优雅(不会影响效率)。这就允许调试器和外部处转载 2020-07-14 11:07:34 · 5522 阅读 · 0 评论 -
带你打造一套 APM 监控系统(三)
五、 App 网络监控移动网络环境一直很复杂,WIFI、2G、3G、4G、5G 等,用户使用 App 的过程中可能在这几种类型之间切换,这也是移动网络和传统网络间的一个区别,被称为「Connection Migration」。此外还存在 DNS 解析缓慢、失败率高、运营商劫持等问题。用户在使用 App 时因为某些原因导致体验很差,要想针对网络情况进行改善,必须有清晰的监控手段。1. App 网络请求过程App 发送一次网络请求一般会经历下面几个关键步骤:DNS 解析Domain Name s转载 2020-07-14 11:07:14 · 1916 阅读 · 0 评论 -
带你打造一套 APM 监控系统(二)
三、 CPU 使用率监控1. CPU 架构CPU(Central Processing Unit)中央处理器,市场上主流的架构有 ARM(arm64)、Intel(x86)、AMD 等。其中 Intel 使用 CISC(Complex Instruction Set Computer),ARM 使用 RISC(Reduced Instruction Set Computer)。区别在于不同的 CPU 设计理念和方法。早期 CPU 全部是 CISC 架构,设计目的是用最少的机器语言指令来完成所需的计算任转载 2020-07-14 11:06:53 · 1914 阅读 · 0 评论 -
带你打造一套 APM 监控系统(一)
APM 是 Application Performance Monitoring 的缩写,监视和管理软件应用程序的性能和可用性。应用性能管理对一个应用的持续稳定运行至关重要。所以这篇文章就从一个 iOS App 的性能管理的纬度谈谈如何精确监控以及数据如何上报等技术点App 的性能问题是影响用户体验的重要因素之一。性能问题主要包含:Crash、网络请求错误或者超时、UI 响应速度慢、主线程卡顿、CPU 和内存使用率高、耗电量大等等。大多数的问题原因在于开发者错误地使用了线程锁、系统函数、编程规范问题、.转载 2020-07-14 11:06:31 · 2293 阅读 · 0 评论 -
Android:神奇的约束布局 ConstraintLayout
目录1.介绍2.为什么要用ConstraintLayout3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5 居中和偏移3.6 尺寸约束3.7 链4.辅助工具4.1 Optimizer4.2 Barrier4.3 Group4.4 Placeholder4.5.Guideline5.总结1.介绍约束布局 ConstraintLayout 是一个 ViewGroup,可以在 Api9 以上的 Android 系统转载 2020-06-25 23:18:08 · 979 阅读 · 0 评论 -
Mac 安装 Android Studio 以及 Android 开发环境配置
安装 Android Studio1. 下载 Android Studio下载地址:https://developer.android.google.cn/studio/直接下载最新的dmg文件,安装,一直点 Next 下一步直到完成。2. Proxy 设置打开新安装的 Android Studio点击 Android Studio选择 Preferences选择 HTTP Proxy选择 Manual proxy configuration - HTTP填写 Host name :原创 2020-06-21 16:58:39 · 29090 阅读 · 7 评论 -
Android软件开发-ToggleButton
ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。以下案例为ToggleButton的用法目录结构main.xml布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.c...原创 2014-06-14 12:30:00 · 213 阅读 · 0 评论 -
Android软件开发-ImageView
ImageView控件是一个图片控件,负责显示图片。以下模拟手机图片查看器目录结构:main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" a...原创 2014-06-14 12:18:00 · 258 阅读 · 0 评论 -
Android软件开发-AnalogClock、DigitalClock
时钟控件包括AnalogClock和DigitalClock,它们都负责显示时钟,所不同的是AnalogClock控件显示模拟时钟,且只显示时针和分针,而DigitalClock显示数字时钟,可精确到秒以下模拟时钟的用法目录结构:main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><!-- A...原创 2014-06-14 12:13:00 · 270 阅读 · 0 评论 -
Android软件开发-DatePicker、TimePicker
一、DatePicker继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改。如果要捕获用户修改日期选择控件中的数据事件,需要为DatePicker添加OnDateChangedListener监听器。二、TimePicker也继承自FrameLayout类。时间选择控件向用户显示一天中的时间(可以为24小时,也可以为AM/PM...原创 2014-06-14 12:10:00 · 220 阅读 · 0 评论 -
Android软件开发-AutoCompleteTextView、MultiAutoCompleteTextView
在Android中提供了两种智能输入框,它们是AutoCompleteTextView、MultiAutoCompleteTextView。它们的功能大致一样。显示效果像Google搜索一样,当你在搜索框里输入一些字符时(至少两个字符),会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。一、AutoCompleteTextView1、简介一个继承自EditView的可编辑...原创 2014-06-14 12:07:00 · 241 阅读 · 0 评论 -
Android软件开发-ScrollView
ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳来显示的视图。ScrollView只支持垂直滚动。以下为案例main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/...原创 2014-06-14 12:02:00 · 234 阅读 · 0 评论 -
Android软件开发-ListView(1)
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/LinearLayout01" android:layout_w...原创 2014-06-14 05:44:00 · 230 阅读 · 0 评论 -
Android软件开发-ListView(2)
目录结构:main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><!-- 使用相对布局 --><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orie...原创 2014-06-14 05:40:00 · 260 阅读 · 0 评论 -
Android软件开发-GridView
GridView是一项显示二维的viewgroup,可滚动的网格。一般用来显示多张图片。以下模拟九宫图的实现,当鼠标点击图片时会进行相应的跳转链接。目录结构:main.xml布局文件,存放GridView控件:<?xml version="1.0" encoding="utf-8"?><!-- android:numColumns="au...原创 2014-06-14 05:37:00 · 301 阅读 · 0 评论 -
Android软件开发-ProgressBar
ProgressBar位于android.widget包下,其继承于View,主要用于显示一些操作的进度。应用程序可以修改其长度表示当前后台操作的完成情况。因为进度条会移动,所以长时间加载某些资源或者执行某些耗时的操作时,不会使用户界面失去响应。ProgressBar类的使用非常简单,只需将其显示到前台,然后启动一个后台线程定时更改表示进度的数值即可。以下ProgressBar跟Ha...原创 2014-06-14 05:28:00 · 309 阅读 · 0 评论 -
Android软件开发-Gallery
Gallery组件主要用于横向显示图像列表,不过按常规做法。Gallery组件只能有限地显示指定的图像。也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了。这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示。要实现这种风格的Gallery组件,就需要对Gallery...原创 2014-06-14 05:24:00 · 329 阅读 · 0 评论 -
Android、iOS和Windows Phone系统的比较
据国外媒体报道,Android、iOS 和 Windows Phone 7 三大操作系统有何差别,本文将通过 13 个方面进行对比。 1. 设备数量 运行 Android 操作系统的设备数量最多,有上百款,最大的制造商包括三星、摩托罗拉、HTC、索爱和宏碁。运行 iOS 操作系统的设备有 11 款,包括各个版本的 iPhone、iPad 以及 iPod tou...原创 2014-06-12 23:01:00 · 1490 阅读 · 0 评论 -
Android软件开发-Spinner
以下模拟下拉列表的用法main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_p...原创 2014-06-14 05:21:00 · 310 阅读 · 0 评论 -
MAC系统下 Android 的 Eclipse 开发环境的搭建
一.Eclipse的下载到网站:http://www.eclipse.org/downloads/上,由于我们是用Java开发的所以步骤如下:找到“Eclipse IDE for java Developers”此处右上角会根据你当前使用的系统自动选择,Mac下就会自动选择位“Mac OS X(Cocoa)”然后点击右边的“Mac OS X 64bit”(这...原创 2014-06-13 18:34:00 · 308 阅读 · 0 评论 -
Android软件开发-TabHost
以下通过TabHost实现android选项卡。main.xml布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fil...原创 2014-06-14 05:17:00 · 298 阅读 · 0 评论