Android基础知识总结
qianlaojia
手机移动独立开发者
展开
-
android中的ANR(程序无响应)bug及其解决方案
ANR在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:ApplicationNotResponding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示 ANR给用户。不同的组件发生ANR 的时间不一样,主线原创 2016-11-28 23:57:18 · 3227 阅读 · 1 评论 -
Android中的GridView的简介,配置与使用
gridviewGridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。布局中的配置GridView常用的XML属性:属性名称 描述Android:columnWidth 设置列的宽度。android:gravi原创 2016-11-27 15:00:11 · 715 阅读 · 0 评论 -
Android开发中状态选择器的配置与使用(一)
状态选择器的配置 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bar_home_normal" android:state_pressed="fal原创 2016-12-09 12:13:34 · 332 阅读 · 0 评论 -
graviry与layoutgravity的区别---Android开发中
z布局中: LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity。 区别在于: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置. android:layout_gravity是用来设置该view相对与原创 2016-12-09 18:57:58 · 390 阅读 · 0 评论 -
Android应用的启动的过程
Android应用的启动过程启动程序,开启进程根据 AndroidManifest.xml 文件找到 MainActivity 类,创建 ActivityActivity 创建后执行 onCreate(Bundle)方法,根据 R.layout.activity_main 构建界面R.layout.activity_main 是 R 类 中 的 一 个 成 员 变 量 , 指 向res/layout原创 2016-12-15 23:12:57 · 265 阅读 · 0 评论 -
Android下的单位及相互之间的关系和换算
dip(简称dp)一个基于 density(密度)的抽象单位,这个和设备硬件有关,通常在开发中设置一些 view 的宽高推荐用这个,一般情况下,在不同分辨率,都不会有缩放的感觉。在运行时, Android 根据使用中的屏幕的实际密度, 透明地处理任何所需 dip 单位的缩放。不依赖设备像素,依据设备自动适应大小,推荐使用sp同 dip/dp 相似,会根据用户的字体大小偏好来缩放,专门用于设置原创 2016-12-15 23:36:01 · 916 阅读 · 0 评论 -
Android 中布局的优化措施都有哪些?
1、尽可能减少布局的嵌套层级可以使用sdk提供的hierarchyviewer工具分析视图树,帮助我们发现没有用到的布局。2、不用设置不必要的背景,避免过度绘制比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。3、使用include>标签复用相同的布局代码4、使用merge>标签减少视图层次结构该标签主要有两种用法: 1) 因为所有的 Activity 视原创 2016-12-18 22:16:41 · 1089 阅读 · 1 评论 -
Android开发中ListView图片加载的优化机制
图片的优化策略比较多。1、处理图片的方式:如果ListView中自定义的Item中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是ListView 项中最头疼的,处理图片的方法大致有以下几种:①、不要直接拿路径就去循环 BitmapFactory.decodeFile ;使用Options保存图片大小、不要加载图片到内存去。②、对图片一定要经过边界压缩尤其是比较大的图片,如果你的原创 2016-12-18 22:32:30 · 492 阅读 · 0 评论 -
Android Studio SVN配置忽略文件
1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关系。2.打开Setting-Version Control-Ignored Files,添加忽略文件,我所知道的忽略文件如下:1、.idea文件夹 2、.gradle文件夹 3、所有的build文件夹 4、所有的.iml文件 5、local.p原创 2017-02-23 15:53:53 · 406 阅读 · 0 评论 -
Android开发中的Tablayout和Fragment相结合切换的使用的总结
前言在android开发中可以使用Tablayout和Fragment相结合进行相关的界面的切换原创 2017-03-07 17:27:35 · 920 阅读 · 0 评论 -
android内存管理—内存溢出和内存泄漏
内存泄漏: 内存泄露是指某个程序已不再执行,却始终占用着内存,不释放,从而消耗着资源,别的程序也无法使用资源,称其为内存泄露。内存溢出 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供使用,出现out of memory;相互之间的联系 内存泄漏如果累计发生到一定的程度就会导致内存溢出,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空原创 2016-11-27 14:54:55 · 410 阅读 · 1 评论 -
Activity的四种启动模式简介
四种启动模式 说明:启动模式是Activity的使用的启动模式,可以在清单文件中给<Activity>的标签中使用android:launchMode的属性进行配置(1)标准启动模式: 多个Activity共用一个栈。 这个是默认的显示模式,在没有其他的显示的配置的情况下自动使用现在的模式,Activity先进后出,没有任何处理。(2)singleTop模式 在这个模式原创 2016-11-27 12:47:39 · 485 阅读 · 1 评论 -
android开发中的同步和异步区别的理解
同步和异步的区别:网络答案答案一: 1、同步执行的话,就是程序会呆板地从头执行到尾,耗时间的东西不执行完,程序不会继续往下走,等待时间长的话,有时候就会造成失去响应了。 2、异步的好处,就是把一些东西,特别是耗时间的东西扔到后台去运行了(doInBackground),程序可以继续做自己的事情,防止程序卡在那里失去响应。 答案二: 1、同步是指两个线程的运行是相关的,原创 2016-11-29 00:00:30 · 6381 阅读 · 4 评论 -
andriod开发中shape的配置和使用
在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,首先我们了解一下Shape下面有哪些标签,都代表什么意思: solid:填充 android:color指定填充的颜色gradient:渐变 android:startColor和android:endColor分别为起始和结束颜色, android:angle是渐变角度,必须为45的整数倍。 另外渐变默认原创 2016-11-29 00:06:19 · 300 阅读 · 0 评论 -
android开发中Activity创建的三步曲(个人总结)
Activity创建的三部曲 1.创建一个自己的类 继承于Activity 2 在清单文件中注册Activity。 3 调用Oncreater的方法,设置setcontentLayout来设置布局文件。一般情况下如果使用的Activity比较多且相似,提取一个baseActivity的方法。原创 2016-11-29 00:09:23 · 435 阅读 · 0 评论 -
android中五大布局之-----帧布局
帧布局帧布局是和其他的相对布局 线性布局一样的布局,它往往和fragment这个相结合,将相关的fragment进行层罗列然后通过代码进行控制Visibility 用来显示和Gone原创 2016-11-29 00:28:28 · 1959 阅读 · 0 评论 -
Android开发中常用的设计模式初步解析
15·常用的设计模式单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。 (2) 在其内部产生该类的实例化对象,并将其封装成private static类型。 (3) 定义一个静态方法返回该类的实例。工厂设计模原创 2016-12-12 21:50:33 · 334 阅读 · 1 评论 -
android开发中常用的五大布局
线性布局 线性布局在xml文件中使用来定义。 线性布局可以分为水平和垂直方向的布局,可以 通过android:orientation来定义方向, android:orientation=“horizontal”表示水平方向, android:orientation=“vertical”表示垂直方向。 android:layout_width表示控件的宽度,android_layout_h原创 2016-12-04 21:09:57 · 2048 阅读 · 0 评论 -
Android中HorizontalScrollView和Scrollview的配置与使用
scrollView 实际上就是一个布局没有多少属性。 ScrollView,通过官方文档的继承关系可以看出,它继承自FrameLayout,所以它是一种特殊类型的FrameLayout,因为它可以使用用户滚动显示一个占据的空间大于物理显示的视图列表。值得注意的是,ScrollView只能包含一个子视图或视图组,在实际项目中,通常包含的是一个垂直的LinearLayout。Hor原创 2016-11-27 14:57:18 · 577 阅读 · 1 评论 -
android开发中线程间通讯机制
android中线程间通讯的方法:(1)runOnUiThread(Runnable)在子线程中直接使用该方法,可以更新UI RunOnUiThread(new Runnable(){//更新UI @Override public void run() { publish_time.setTex原创 2016-12-05 21:18:28 · 410 阅读 · 0 评论 -
Android中Activity中的数据的相互传递总结(一)
总则 Intent的一个重要的作用就是用来开启下一个Activity,包含隐式和显示两种传递方法,可以用来相互传递数据。A–B传递数据: 由A向B传递数据: A的处理: Intent intent = new Intent(FirstActivity.this,SecondActivity.class); intent.putExtra("键",值); star原创 2016-11-27 12:37:09 · 1000 阅读 · 1 评论 -
Android开发中一种两次点击返回键退出应用的方法
两次点击返回键退出应用,大家经常用 不用多说,直接上代码,有问题的可以交流: /** * 两秒内点击两次返回键退出程序 */ private long first = 0; @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) {原创 2017-05-16 14:31:03 · 450 阅读 · 0 评论