细节积累
2016-06-24 17:46
190 查看
一、签名文件问题
一般在安装时提示出错:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
1) 两个应用,名字相同,签名不同
2) 升级时前一版本签名,后一版本没签名
3) 升级时前一版本为DEBUG签名,后一个为自定义签名
4) 升级时前一版本为Android源码中的签包名不一致升级 会安装新的APK,旧的APK不会管。签名不一致,包名一致的话,需要先卸载旧的APK 才能安装新版的。
二、Handler弱引用,增强内存泄漏检测
handler弱引用使用:
三、导航栏中Fragment中包含ListView的手势识别处理
(1)导航栏主类处理
(2)手势使用类处理
特别害怕别人对我好,因为我怕还不了。一旦有人用真心对我好,我便恨不得以命相抵。
性格方面还是有很多缺陷,自私,敏感,尖刻,粗砺,自卑,过分的自尊心,极度缺乏安全感…
过往的自己是当前自己的最好镜面,无悔过去,无惧未来!
一般在安装时提示出错:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
1) 两个应用,名字相同,签名不同
2) 升级时前一版本签名,后一版本没签名
3) 升级时前一版本为DEBUG签名,后一个为自定义签名
4) 升级时前一版本为Android源码中的签包名不一致升级 会安装新的APK,旧的APK不会管。签名不一致,包名一致的话,需要先卸载旧的APK 才能安装新版的。
二、Handler弱引用,增强内存泄漏检测
handler弱引用使用:
static class CommentHandler extends Handler { WeakReference<HomeActivity> mActivity; CommentHandler(HomeActivity activity) { mActivity = new WeakReference<>(activity); } public void handleMessage(Message msg) { super.handleMessage(msg); } }
三、导航栏中Fragment中包含ListView的手势识别处理
(1)导航栏主类处理
<pre name="code" class="java">private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>( 10); @Override public boolean dispatchTouchEvent(MotionEvent ev) { for (MyOnTouchListener listener : onTouchListeners) { listener.onTouch(ev); } return super.dispatchTouchEvent(ev); } public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) { onTouchListeners.add(myOnTouchListener); } public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) { onTouchListeners.remove(myOnTouchListener); } public interface MyOnTouchListener { public boolean onTouch(MotionEvent ev); }
(2)手势使用类处理
<span style="white-space:pre"></span><pre name="code" class="java"><span style="white-space:pre"> </span>import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; import android.view.View; public class ScanDetailsEditFragment extends MyFragment implements TabContentFactory, OnGestureListener { // 滑动手势 private GestureDetector detector; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //to-do final GestureDetector mGestureDetector = new GestureDetector( getActivity(), this); MainContainerActivity.MyOnTouchListener myOnTouchListener = new MainContainerActivity.MyOnTouchListener() { @Override public boolean onTouch(MotionEvent ev) { boolean result = mGestureDetector.onTouchEvent(ev); return result; } }; ((MainContainerActivity) getActivity()) .registerMyOnTouchListener(myOnTouchListener); return view; } public void flingLeft() {//自定义方法:处理向左滑动事件 } public void flingRight() {//自定义方法:处理向右滑动事件 } @Override public boolean onDown(MotionEvent arg0) { return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (e1.getX() - e2.getX() < -100) { flingLeft(); return true; } else if (e1.getX() - e2.getX() > 100) { flingRight(); return true; } } catch (Exception e) { } return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } }
特别害怕别人对我好,因为我怕还不了。一旦有人用真心对我好,我便恨不得以命相抵。
性格方面还是有很多缺陷,自私,敏感,尖刻,粗砺,自卑,过分的自尊心,极度缺乏安全感…
过往的自己是当前自己的最好镜面,无悔过去,无惧未来!
相关文章推荐
- git协同开发流程定制
- 无锁队列(一)
- 2016.06.24回顾
- Unity3d shader -- fixed function shader
- Div下拉式菜单选择项
- Linux常用命令--split
- 地图与定位(六)高德地图服务二
- Bootstrap排版的类 做web前端开发的你精通吗?
- Sublimt HTML/CSS代码快速编写神器
- Yeoman创建自己的generator(1)
- Java线程中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和区别
- 详细配置android studio的gradle
- java获取文件的md5值
- 14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:
- 时间与日期的转换
- 数据库性能问题排查
- GC算法 垃圾收集器
- 14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:
- 14.4.3.6 Fine-tuning InnoDB Buffer Pool Flushing 微调 InnoDB Buffer Pool 刷新:
- web容器启动Spring