自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Android面试总结

一、搜狐 1、减少崩溃怎么解决。 2、印象深刻的问题。 3、binder机制 4、最有成就的事情 5、项目框架结构图 一首凉凉送个自己,优化这方面接触的比较少,很多不会的有待提高;二、去哪儿 事件分发。 常用设计模式(手写) 用到的排序算法(手写) 热更新原理 service 可不可以弹出dialog 线程可不可以toast 崩...

2018-08-03 18:28:39 199

转载 Android Service的绑定过程

我们知道调用Context的bindService方法即可绑定一个Service,而ContextImpl是Context的实现类。那接下来就从源码的角度分析Service的绑定过程。当然是从ContextImpl的bindService方法开始,如下:@Overridepublic boolean bindService(Intent service, ServiceConnect...

2018-02-27 16:02:44 324

转载 Android Service的启动过程

当然是从Context的startService方法开始,Context的实现类是ContextImpl,那么我们就看到ContextImpl的startService方法即可,如下:@Overridepublic ComponentName startService(Intent service) { warnIfCallingFromSystemProcess(); ...

2018-02-27 15:26:54 240

原创 Android 中常见的内存泄露

1.单例造成的内存泄漏public class SingletonActivityContext { private static SingletonActivityContext instance; private Context context; private SingletonActivityContext(Context context) { ...

2018-02-27 11:41:53 190

转载 Activity的启动过程

从Activity的startActivity方法开始的,@Overridepublic void startActivity(Intent intent) { this.startActivity(intent, null);}使用this关键字调用 了startActivity方法的两个参数的重载。如下:@Overridepublic void startAc...

2018-02-26 16:27:57 160

转载 内存管理

一、内存管理机制概述 1,Android中的内存管理机制Android为每个进程分配内存的时候,采用了弹性的分配方式,也就是刚开始并不会一下分配很多内存给每个进程,而是给每一个进程分配一个“够用”的量。这个量是根据每一个设备实际的物理内存大小来决定的。随着应用的运行,可能会发现当前的内存可能不够使用了,这时候Android又会为每个进程分配一些额外的内存大小。但是这些额外的大小并不是随意的,也是有

2017-06-19 14:25:59 338

原创 Android事件分发机制

一、三个重要的方法dispatchTouchEvent() 、 onInterceptTouchEvent()(activity和view无此方法) activity 作为事件的原始分发着会造成无响应 view最为事件的最末端要么处理事件,要么回传事件 onTouchEvent()二、事件分发流程 Activity–>PhoneWindow–>DecorView–>ViewGro

2017-06-16 14:54:10 181

原创 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 663

原创 Broadcast面试详解

一、内部机制 1,自定义广播接收者BroadcastReceiver,并复写onReceiver() 方法; 2,通过binder向AMS (Activity Manager Service)进行注册; 3,广播发送者通过binder 向AMS发送广播; 4,AMS 查找符合相应条件的BroadcastReceiver,将广播发送到BroadcastReceiver相应的消息循环队列中;

2017-06-15 16:58:50 261

原创 Service 详解

一、service基础 1,service 是什么? service 是一种可以在后台长时间操作而没有用户界面的组件。(运行在主线程中,不可进行好事操作) 2,Service与Thread的区别Thread:Thread 是程序执行的最小单元,可以用 Thread 来执行一些异步的操作。 Service:Service 是android的一种机制,当它运行的时候如果是Local Servic

2017-06-15 15:51:02 369

原创 Fragment 面试详解

一、Fragment的两种加载方式 1,添加Fragment到activity的布局文件中。 2,动态加载 3,FragmentPagerAdapter与FragmentStatePagerAdapter区别FragmentStatePagerAdapter 在每次切换的时候是回收内存的,适合页面比较多的情况。 FragmentPagerAdapter 在切花的时候并没有释放内容,只是将ui

2017-06-15 14:23:42 230

原创 Activity面试问题讲解

一、activity 生命周期 1,activity的四种状态 Android程序中,Activity是程序和用户交互的界面,在系统中存在四种状态:Running, Paused, Stopped, Killed。 Running是指Activity在系统中获得焦点的状态,此时用户可以与该程序进行交互,对程序进行直接操作。Paused 是指Activity在系统中未获得焦点,但对用户来

2017-06-15 13:30:56 338

转载 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 276

转载 Android 输入框第一次弹出数字键盘, 后面可以随意切换

前言 记录一次关于 EditText 首次输入需要弹出数字键盘,然后可以随便切换输入模式,下面以 输入身份证号 为例,因为身份证号只可能是数字 + 字母 X,所以这里不仅做了首次弹出数字键盘,还实现了对于其他键盘模式输入做了限制,只能输入字母 X 。代码 xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android

2017-05-25 10:27:59 395

原创 RN 数据存储问题思考

官方给出的api是AsyncStorage。 AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。 由于它是异步的 操作起来不是很方便,个人感觉类似于网络请求,开一个线程去存储和读取数据,不能在方法中直接返回取回来的值。 AsyncStorage封装推荐看这个由于业务需要,需要同步存储的操作。 (1)定义全局的对象var

2017-04-06 10:04:57 1514

原创 RN 学习中遇到的的问题

react-native在Anroid真机运行时可能会遇到白屏的情况解决办法 解决方案Image 加载数组中的图片路径问题 require(imgList[i]) 会报错。 解决方案addChildView() { var allChild = []; var imgList=[require('./img/img_01.png'),require('./i

2017-03-19 11:53:44 685

原创 android7.0 popupwindow在所点击的控件下方显示,会掩盖本身的控件,所以可以将高多加控件的本身高度

if (Build.VERSION.SDK_INT < 24) { popMenu.showAsDropDown(search_view, 0, 2); } else { // 适配 android 7.0 int[] location = new

2017-03-11 14:34:15 795

原创 CSS3-伸缩布局介绍

1.flex-direction(默认为水平方向) 调整主轴方向(默认为水平方向)包括row、column、row-reverse、column-reverse2.justify-content 主轴方向对齐,可以调整元素在主轴方向上的对齐方式,包括flex-start、flex-end、center、space-around、space-between几种方式3.align-items 调整

2017-03-05 19:57:06 395

原创 Android,java 中的内存管理机制

Android中的内存管理机制参考:这里写链接内容一、分配机制Android为每个进程分配内存的时候,采用了弹性的分配方式,也就是刚开始并不会一下分配很多内存给每个进程,而是给每一个进程分配一个“够用”的量。这个量是根据每一个设备实际的物理内存大小来决定的。随着应用的运行,可能会发现当前的内存可能不够使用了,这时候Android又会为每个进程分配一些额外的内存大小。但是这些额外的大小并不是随意的,也

2017-02-24 10:07:05 503

原创 java android 基础

java 基础 1. java 内存管理 内存泄漏 2. java 类加载过程 3. 哈希表原理 4. Java中线程池如何设计的 5. Java中final修饰成员函数的作用 6. ArrayList和LinkedList区别? 7. Sleep和wait的区别 8. GC内存泄露在什么情况下回出现?怎么解决? 9. 线程的几种状态8.Http和Https有什么区别.

2017-02-23 15:13:25 233

原创 javascript 学习一

一、下拉菜单使用html部分<select name="" id="select"> <option value="1">1111111</option> <option value="2">2222222</option> <option value="3">3333333</option> <option value="4">4444444</option>

2017-02-19 16:19:19 247

原创 css学习一

一、CSS选择器的权重 4个等级的定义如下: 1. 第一等:代表内联样式,如: style=””,权值为1000。 2. 第二等:代表ID选择器,如:#content,权值为100。 3. 第三等:代表类,伪类和属性选择器,如.content,权值为10。 4. 第四等:代表类型选择器和伪元素选择器,如div p,权值为1。注意: 1. 如果两个选择器作用在同一元素上,则权重高者生效。

2017-02-11 14:42:49 353

转载 Android的消息机制

一、消息机制简介 1.Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层MessageQueue和Looper的支撑。 2.MessageQueue是采用单链表的数据结构来存储消息列表。 3.Looper会以无限循环的形式去查看是否有新消息,如果有就处理消息,否则就一直等待。 4.ThreadLocal可以在不同线程中互不干扰的存储并提供数据,通过Thre

2017-02-07 16:26:31 226

原创 IPC机制

一、概念 1. ipc (Inter-Process Communication,进程间通信); 2. 线程 CPU调度的最小单元,线程是一种有限的系统资源; 3. 进程 一个执行单元 ,一个进程可以包含多个线程。 二、android 中的多进程模式 1. 通过给四大组件指定 android:process属性,就可以开启多进程模

2017-02-07 13:46:44 842

原创 Android 键盘遮挡问题

一、在5.0以前,如果EditText设置了gravity=“center|right”其中之一且同时设置了singleLine=“true”,就会导致屏幕底部的EditText连续点击弹出键盘时,从第二次开会一直遮挡住EditText。  5.0+则不会有该问题,解决办法也简单,在EditText外层包裹ScrollView,并设置键盘模式为adjustResize模式即可(两者缺一不可)。二、今

2017-01-23 11:45:11 365

原创 微信小程序—下拉刷新上拉加载

1.使用scroll-view实现下拉刷新上拉加载<scroll-view scroll-y="true" style="height:{{scrollHeight}}px;" class="list" bindscrolltolower="bindDownLoad" bindscrolltoupper="refresh"> <view class="item" wx:for="{{lis

2017-01-11 20:15:41 8250

原创 React Nactvie(环境配置)

1.环境配置(mac)参照 官网(很详细);     http://reactnative.cn/docs/0.31/getting-started.html#content2.创建项目宇运行1.创建项目react-native init AwesomeProject2.运行项目cd AwesomeProjectreact-native r

2016-10-12 13:07:57 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除