android
清华落榜生
90后空巢老人
展开
-
Android 输入框第一次弹出数字键盘, 后面可以随意切换
前言 记录一次关于 EditText 首次输入需要弹出数字键盘,然后可以随便切换输入模式,下面以 输入身份证号 为例,因为身份证号只可能是数字 + 字母 X,所以这里不仅做了首次弹出数字键盘,还实现了对于其他键盘模式输入做了限制,只能输入字母 X 。代码 xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android转载 2017-05-25 10:27:59 · 425 阅读 · 0 评论 -
Android面试总结
一、搜狐 1、减少崩溃怎么解决。 2、印象深刻的问题。 3、binder机制 4、最有成就的事情 5、项目框架结构图 一首凉凉送个自己,优化这方面接触的比较少,很多不会的有待提高;二、去哪儿 事件分发。 常用设计模式(手写) 用到的排序算法(手写) 热更新原理 service 可不可以弹出dialog 线程可不可以toast 崩...原创 2018-08-03 18:28:39 · 211 阅读 · 0 评论 -
Android Service的绑定过程
我们知道调用Context的bindService方法即可绑定一个Service,而ContextImpl是Context的实现类。那接下来就从源码的角度分析Service的绑定过程。当然是从ContextImpl的bindService方法开始,如下:@Overridepublic boolean bindService(Intent service, ServiceConnect...转载 2018-02-27 16:02:44 · 338 阅读 · 0 评论 -
Android Service的启动过程
当然是从Context的startService方法开始,Context的实现类是ContextImpl,那么我们就看到ContextImpl的startService方法即可,如下:@Overridepublic ComponentName startService(Intent service) { warnIfCallingFromSystemProcess(); ...转载 2018-02-27 15:26:54 · 264 阅读 · 0 评论 -
Android 中常见的内存泄露
1.单例造成的内存泄漏public class SingletonActivityContext { private static SingletonActivityContext instance; private Context context; private SingletonActivityContext(Context context) { ...原创 2018-02-27 11:41:53 · 224 阅读 · 0 评论 -
Activity的启动过程
从Activity的startActivity方法开始的,@Overridepublic void startActivity(Intent intent) { this.startActivity(intent, null);}使用this关键字调用 了startActivity方法的两个参数的重载。如下:@Overridepublic void startAc...转载 2018-02-26 16:27:57 · 183 阅读 · 0 评论 -
Broadcast面试详解
一、内部机制 1,自定义广播接收者BroadcastReceiver,并复写onReceiver() 方法; 2,通过binder向AMS (Activity Manager Service)进行注册; 3,广播发送者通过binder 向AMS发送广播; 4,AMS 查找符合相应条件的BroadcastReceiver,将广播发送到BroadcastReceiver相应的消息循环队列中;原创 2017-06-15 16:58:50 · 279 阅读 · 0 评论 -
Service 详解
一、service基础 1,service 是什么? service 是一种可以在后台长时间操作而没有用户界面的组件。(运行在主线程中,不可进行好事操作) 2,Service与Thread的区别Thread:Thread 是程序执行的最小单元,可以用 Thread 来执行一些异步的操作。 Service:Service 是android的一种机制,当它运行的时候如果是Local Servic原创 2017-06-15 15:51:02 · 413 阅读 · 0 评论 -
Fragment 面试详解
一、Fragment的两种加载方式 1,添加Fragment到activity的布局文件中。 2,动态加载 3,FragmentPagerAdapter与FragmentStatePagerAdapter区别FragmentStatePagerAdapter 在每次切换的时候是回收内存的,适合页面比较多的情况。 FragmentPagerAdapter 在切花的时候并没有释放内容,只是将ui原创 2017-06-15 14:23:42 · 254 阅读 · 0 评论 -
Activity面试问题讲解
一、activity 生命周期 1,activity的四种状态 Android程序中,Activity是程序和用户交互的界面,在系统中存在四种状态:Running, Paused, Stopped, Killed。 Running是指Activity在系统中获得焦点的状态,此时用户可以与该程序进行交互,对程序进行直接操作。Paused 是指Activity在系统中未获得焦点,但对用户来原创 2017-06-15 13:30:56 · 359 阅读 · 0 评论 -
eclipse 项目转AS遇到的问题
1 .Duplicate files copied in APK META-INF/LICENSE.txt My logcat: log Execution failed for task ‘:Prog:packageDebug’. Duplicate files copied in APK META-INF/LICENSE.txt File 1: /home/scijoker/Andro转载 2017-06-09 17:44:43 · 293 阅读 · 0 评论 -
内存管理
一、内存管理机制概述 1,Android中的内存管理机制Android为每个进程分配内存的时候,采用了弹性的分配方式,也就是刚开始并不会一下分配很多内存给每个进程,而是给每一个进程分配一个“够用”的量。这个量是根据每一个设备实际的物理内存大小来决定的。随着应用的运行,可能会发现当前的内存可能不够使用了,这时候Android又会为每个进程分配一些额外的内存大小。但是这些额外的大小并不是随意的,也是有转载 2017-06-19 14:25:59 · 365 阅读 · 0 评论 -
Android事件分发机制
一、三个重要的方法dispatchTouchEvent() 、 onInterceptTouchEvent()(activity和view无此方法) activity 作为事件的原始分发着会造成无响应 view最为事件的最末端要么处理事件,要么回传事件 onTouchEvent()二、事件分发流程 Activity–>PhoneWindow–>DecorView–>ViewGro原创 2017-06-16 14:54:10 · 203 阅读 · 0 评论 -
Handle,AsyncTask面试详解
一、什么是handle handle通过发送和处理Messgae 和Runnable对象来关联对应线程的MessageQueue。 1,可以让对应的Messgae和Runnable在未来的某个时间的进行相应的处理; 2,让自己想要的耗时操作放在子线程,更新ui放在主线程; 二、handle用法 1, post(runnable) 2,sendMessage(message)三、handl原创 2017-06-16 10:59:55 · 697 阅读 · 0 评论